angular element addClass活动失败

时间:2016-04-14 09:20:14

标签: angularjs class add

在我的页面上我已加载角度和引导程序。在默认加载时,面板“#default”处于活动状态。在另一种情况下,页面获得一个变量(“名称”)。此变量是标识其他面板的字符串。最后应显示此名称面板。在下面的代码中,删除工作,但添加不。

if (name) {

 angular.element("#deault").removeClass("active");
 angular.element(document.querySelector("#some-other")).addClass("active");

 angular.element("#other-"+name).attr("aria-expanded"));

 angular.element("#other-"+name).attr("aria-expanded", true)
 document.getElementById("#other-"+name).click()

         }else{
           log('no Id "#other-"+name existent')
         }
        log('test')
      }

2 个答案:

答案 0 :(得分:2)

我回复是因为我假设你要强调一个"活跃的"元件。

在angular中有ng-class指令,您可以根据条件将类分配给元素。

https://docs.angularjs.org/api/ng/directive/ngClass

答案 1 :(得分:0)

根据你的评论,我认为它不起作用,因为当你尝试addClass时,DOM还没有准备好。所以试试这个:

angular.element(document).ready(function () {
    angular.element(document.querySelector("#some-other")).addClass("active");
});

更新

根据您的评论,我认为您应该只是这样做

other-panel DOM元素上添加ng-class,如

<div id="other-panel" ng-class="{active: name}">
...
</div>
控制器中的

$scope.name = name   #this name should be the name you used in your old code, I guess you get it from $location service