jQuery: селектор nth-child () - PullRequest
       9

jQuery: селектор nth-child ()

7 голосов
/ 08 января 2010

Привет, пожалуйста, посмотрите на HTML ниже. Я пытаюсь использовать jQuery для получения каждого третьего экземпляра в DIV с class="box", содержащимся в DIV с 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-->

Моя попытка с помощью jQuery:

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

Я не могу заставить это работать, может кто-нибудь помочь? Заранее спасибо!


спасибо всем, кто помог, предложенное решение действительно верное. Я зашифровал предоставленный шаблон и обнаружил, что JQuery был настроен для работы в режиме совместимости, поэтому проблема была в $.

Ответы [ 4 ]

11 голосов
/ 08 января 2010

Из документов (мой акцент)

Соответствует всем элементам , которые являются n-ными дочерними элементами их родителей или являются четными или нечетными дочерними элементами родительского элемента.

В настоящее время вы выбираете родителя, в то время как вы должны выбирать детей:

$("div.entry > div:nth-child(3)").css("margin", "0px");
7 голосов
/ 15 июля 2010

nth-child также, по-видимому, не проиндексирован. Имейте это в виду, если вы привыкли к индексации на 0.

3 голосов
/ 08 января 2010

Ваш селектор :nth-child не ссылается на n, и вам необходимо сослаться на внутренний div в вашем селекторе.

Попробуйте:

$(document).ready(function(){
  $("div.entry div:nth-child(3n)").css("margin", "0px");
});
1 голос
/ 08 января 2010

Попробуйте этот селектор:

div.entry > div.box:nth-child(3n)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...