Вопрос выбора jQuery - PullRequest
       5

Вопрос выбора jQuery

1 голос
/ 12 октября 2009

У меня небольшая дилемма. Мне нужно выбрать теги div в зависимости от того, есть ли у их детей определенный класс. Это пример кода структуры DOM:

<div id="container">

    <div id="one">
         <p>This is item one</p>
         <p class="special">This is a description</p>
    </div>

    <div id="two">
         <p>This is item one</p>
         <p>This is a description</p>
    </div>

    <div id="three">
         <p>This is item one</p>
         <p class="special">This is a description</p>
    </div>

</div>

Итак, я хочу выбрать тег div, у которого нет абзаца с классом «special», а в приведенном выше примере это будет второй тег div (#two).

Есть идеи?

Ответы [ 2 ]

14 голосов
/ 12 октября 2009

Вы можете использовать селекторы :not и :has :

$('div:not(:has(p.special))')
0 голосов
/ 12 октября 2009

Попробуйте это:

$("div").filter(function() {
    return $(this).children("p.special").length == 0;
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...