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");