jQuery:nth-​​child()选择器

mtw*_*let 7 jquery jquery-selectors

嗨,请看下面的HTML.我正在尝试使用jQuery来获取class="box"包含在DIV中的DIV上的每个第3个实例,并且class="entry"没有右边距:

我的HTML代码:

<div class="entry">

    <div class="box">
        SOME HTML....
    </div><!-- end .box -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box I Want to remove right hand margin on this div -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box I Want to remove right hand margin on this div -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box -->

    <div class="box">
        SOME HTML....
    </div><!-- end .box I Want to remove right hand margin on this div -->

    </div>
    <!--end entry-->
Run Code Online (Sandbox Code Playgroud)

我对jQuery的尝试:

   <script>
        $(document).ready(function(){
            $("div.entry:nth-child(3)").css("margin", "0px");
        });
   </script>
Run Code Online (Sandbox Code Playgroud)

我不能让这个工作有人可以帮忙吗?提前致谢!


感谢所有帮助解决方案的人确实是正确的.我正在编写一个提供的模板,发现JQuery已设置为以兼容模式运行,因此$是问题所在.

Dav*_*und 11

来自文档(我的重点)

匹配所有元素是其父的第n个孩子,或者是父母的偶数或奇数的孩子.

您当前正在选择父级,而您应该选择子级:

$("div.entry > div:nth-child(3)").css("margin", "0px");
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢您的帮助,不幸的是,这不起作用. (2认同)

小智 7

nth-child似乎也是非0索引的.如果您习惯于在0处编制索引,请记住这一点.