AngularJS:使用动态ID更改HTML元素的CSS

时间:2016-05-25 13:24:20

标签: javascript angularjs

将AngularJS(1.4)与ng-repeat一起使用,我在我的网站上动态地放置了几个按钮 - 每个按钮都有一个唯一的ID。通过单击按钮,将执行REST API调用。根据REST调用的结果,我想更改相应按钮的字体颜色。这就是我到目前为止所提出的。

HTML(摘录:嵌套在ng-repeat(somecontainer中的项目)指令):

<button id="button_1" ng-click="runApiCall(item._id)">Button 1</button>
<button id="button_2" ng-click="runApiCall(item._id)">Button 2</button>
<button id="button_3" ng-click="runApiCall(item._id)">Button 3</button>

使用Javascript:

 $scope.runApiCall = function(id){
    console.log(id); //correct id incoming!
    $http({
        method: 'POST',
        url: '/someurl/',
        data: {'myID': id}
        })
        .success(function(data){
            if(data.status == "whatever"){
                console.log('yap, should be working!');
                angular.element('#button_'+id).css("color:black!important");
            }
        })
        .error(function(){
            //foo
        });
};

我只想要一个按钮来改变它的字体颜色,而不是全部。因此,如果我单击按钮2,那么我只想更改按钮2的字体颜色,这就是为什么我为每个按钮引入唯一ID以便能够在运行时清楚地解决它们的原因。 给出正确的按钮ID,发送API调用,data.status == whatever但我的按钮的字体颜色,无论哪一个,都不会改变。为什么?

0 个答案:

没有答案