Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS+;样式不应用于字段_Javascript_Html_Jquery_Angularjs - Fatal编程技术网

Javascript AngularJS+;样式不应用于字段

Javascript AngularJS+;样式不应用于字段,javascript,html,jquery,angularjs,Javascript,Html,Jquery,Angularjs,我正在尝试对api响应上的消息应用颜色 例如: angularJS: .then(function (response) { angular.element(document.getElementById("msg")).css('color', '#00662f'); $scope.Messages = response.data; 和我的HTML: <div id="msg" ng-repeat="msg

我正在尝试对api响应上的消息应用颜色

例如:

angularJS:

 .then(function (response) {
    angular.element(document.getElementById("msg")).css('color', '#00662f');
    $scope.Messages = response.data;
    
和我的HTML:

<div id="msg" ng-repeat="msg in Messages">{{msg}}</div>
似乎不适用于邮件的颜色

你能看出我做错了什么吗

谢谢你的帮助

伊拉斯莫

更新-我的解决方案

添加了一个布尔值

$scope.IsColor == true;
根据API响应将其设置为false/true:

if (response.data.indexOf("sucessfully added") !== -1) {
    $scope.Messages = response.data;
    $scope.IsColor = true;
    angular.element("#msg").focus()
    return true;
}
else {
    $scope.Messages = response.data;
    $scope.IsColor = false;
    angular.element("#msg").focus()                           
    return false;
}
然后在HTML中

<div id="msg" ng-repeat="msg in Messages" ng-class="$scope.IsColor ? 'text-green' : 'text-red'">{{msg}}</div>
{{msg}
试试这个

angular.element(document.querySelector("msg")).css('color', '#00662f');

您应该通过
ng类
ng样式
来完成。有关如何更新样式,请参见stackblitz:

在样式旁边的HTML中:

<div id="msg" ng-repeat="msg in Messages">{{msg}}</div>
{{msg}

您应该将id替换为class,使用id来标识元素通常被认为有点不好,因为id是全局的,如果我碰巧发生冲突,它会立即出错。

让我试试。非常感谢。它不起作用。也许我应该使用一个布尔范围变量,然后在html中检查它的值?你不应该使用angular.element来实现它。这真是一次糟糕的尝试。你好@huan feng,所以我需要做的就是用类来改变id。你看到stackblitz的例子了吗?实际上,代码中有几个问题。1.您不应该使用id进行样式设置。2.应该避免使用angular.element之类的方法来更改元素的颜色。
<div id="msg" ng-repeat="msg in Messages">{{msg}}</div>