【问题标题】:jQuery eq() loopjQuery eq() 循环
【发布时间】:2011-05-10 13:44:56
【问题描述】:

你能帮我解决这个问题吗?

$(document).ready(function(){
     $("ul.fam:eq(0) li:eq(2)").addClass("redbold");    
});

在这段代码中,有没有办法循环或增加 -> $("ul.fam:eq(0) 中的 '0' 值? 就像让它成为 0,1,2,3,4,5 等等......并停止循环,例如当它到达'3'时

谢谢。

【问题讨论】:

    标签: jquery loops increment


    【解决方案1】:

    循环有时是必要的,但好友 Nick Craver 可能有更简单的答案。无论如何,这正是你所要求的。

    $(function(){
        for(i=0;i<=2;i++){
         $("ul.fam:eq("+i+") li:eq(2)").addClass("redbold");    
        }
    });
    

    【讨论】:

      【解决方案2】:

      您可以使用:lt()(小于索引)选择器,如下所示:

      $(document).ready(function(){
        $("ul.fam:lt(4) > li:nth-child(3)").addClass("redbold");    
      });
      

      You can test it out here.

      这与选择:eq(0):eq(3) 相同。还有一个 :gt() 选择器用于相反的方式...您可以将两者结合起来或 .slice() 获得一个范围。

      【讨论】:

      • @Hamish - 我认为他想要第一个索引,虽然可能是错误的......但是可以在您尝试选择的索引的任何地方使用它:)
      • 我希望 eq(0) 中的 '0' 值增加,然后在达到 '3' 时停止......会有一个循环。这可能吗?
      • @Eron - 为什么需要循环?这将在一个选择器中选择 03 (前 4 个)的所有元素...我更新了上面的内容以使其选择您想要的 &lt;li&gt; 元素,试一试。
      • 是的,就是这样,忘记循环了 :) 谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-06-10
      • 2012-12-13
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多