在我的页面上我已加载角度和引导程序。在默认加载时,面板“#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')
}
答案 0 :(得分:2)
我回复是因为我假设你要强调一个"活跃的"元件。
在angular中有ng-class指令,您可以根据条件将类分配给元素。
答案 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