【问题标题】:How to select the nth element with same classname in jQuery?如何在jQuery中选择具有相同类名的第n个元素?
【发布时间】:2013-12-13 11:58:55
【问题描述】:

这是 HTML 输出:

<ul class="slides row">
    <li id="t64" class="span3"></li>
    <li id="t65" class="span3"></li>
    <li id="t67" class="span3"></li>
    <li class="detailView desktopView"></li>
    <li id="t66" class="span3"></li>
    <li id="t68" class="span3"></li>
    <li class="detailView desktopView"></li>
    <li class="detailView mobileView"></li>
</ul>

我正在尝试仅选择类名为 .span3 的第 n 个元素。 所以我尝试了这个:

var targetSlide = 3;
$(".slides").children('.span3:eq('+ targetSlide +')').addClass('on');

var targetSlide = 4;
$(".slides").children('.span3:nth-child('+ targetSlide +')').addClass('on');

在这两种情况下都选择了.detailView。有什么想法吗?

【问题讨论】:

    标签: jquery html class css-selectors


    【解决方案1】:

    这应该可行:

    var targetSlide= 3;
    
    $('.slides').find('.span3').eq(targetSlide).addClass('on');
    
    // or this syntax does the exact same thing
    
    $('.slides').find('.span3:eq('+targetSlide+')').addClass('on');
    

    【讨论】:

      【解决方案2】:

      你也可以用这个,

      var targetSlide = 3;
      $(".slides").children('.span3').filter(':eq('+ targetSlide +')').addClass('on');
      

      【讨论】:

      • 出于对简单性的考虑,我拒绝发布此示例,但 +1 是为了展示 jQuery 的灵活性
      • @MonkeyZeus 像我这样的学习者需要这样的鼓励!
      【解决方案3】:

      试试:

      var targetSlide = 3;
      $('.slides').find('.span3').eq(targetSlide).addClass('on');
      

      【讨论】:

        猜你喜欢
        • 2017-06-10
        • 1970-01-01
        • 1970-01-01
        • 2017-09-22
        • 1970-01-01
        • 1970-01-01
        • 2012-06-26
        • 1970-01-01
        • 2022-10-31
        相关资源
        最近更新 更多