Javascript .first()元素不使用动态生成的<;李>;
我想我在这里遗漏了一些小概念,但我已经在谷歌上搜索了足够多的内容,但没有任何用处。因此在这个论坛上发帖寻求帮助 我正在使用以下代码动态生成导航选项卡:Javascript .first()元素不使用动态生成的<;李>;,javascript,jquery,html,angularjs,spring,Javascript,Jquery,Html,Angularjs,Spring,我想我在这里遗漏了一些小概念,但我已经在谷歌上搜索了足够多的内容,但没有任何用处。因此在这个论坛上发帖寻求帮助 我正在使用以下代码动态生成导航选项卡: <div class="tabbable"> <ul class="nav nav-tabs" id="testing"> <li ng-repeat="storageOption in gridOptions[$index].ownedJay" class=""><a href="#c{
<div class="tabbable">
<ul class="nav nav-tabs" id="testing">
<li ng-repeat="storageOption in gridOptions[$index].ownedJay" class=""><a href="#c{{storageOption.StorageHostname}}" >Data{{storageOption.StorageHostname}}</a></li>
</ul >
但上面的代码是在生成的所有li中添加活动类
谁能告诉我我在哪里失踪了
提前感谢。您需要以角度的方式进行操作,因为angular确实通过
ng class
提供了该选项,该选项基本上需要类似ng class=“{'class':expression}”
的表达式。在ng class
表达式中,您可以使用$first
来告诉您其ng repeat
的第一个元素,并使用ng href
而不是href
标记
<li ng-repeat="storageOption in gridOptions[$index].ownedJay" ng-class="{'active': first}">
<a ng-href="#c{{storageOption.StorageHostname}}" >Data{{storageOption.StorageHostname}}</a>
</li>
在上面的标记中,我使用了$index
,但若你们有它的话,你们可以使用它,你们可以使用它,你们可以ng repeat
数组
$(".tabbable").find('li:nth-child(1)').addClass("active");
尝试使用其他选择器选择第一个li
您可以使用ng class属性检查$index是否为0,然后添加活动类。在添加新组件后,您必须重新初始化所有事件,以便为新添加的hanks Pankaj执行事件以获得响应。。成功了。只是一个小编辑:ng class=“{'active':$first}”(在第一个示例中)
<ul class="nav nav-tabs" id="testing" ng-init="selected=0">
<li ng-repeat="storageOption in gridOptions[$index].ownedJay"
ng-class="{'active': $index == $parent.selected}"
ng-click="$parent.selected == $index">
<a ng-href="#c{{storageOption.StorageHostname}}" >
Data{{storageOption.StorageHostname}}
</a>
</li>
</ul >
$(".tabbable").find('li:nth-child(1)').addClass("active");