Селектор jQuery НЕ - PullRequest
       5

Селектор jQuery НЕ

0 голосов
/ 22 июля 2010

Как мне выбрать все, НО элемент с идентификатором?

<div id="test">
<p id="test"></p>
<p></p>
<p></p>
</div>

Я хочу иметь возможность выбрать второе и третье

Ответы [ 2 ]

7 голосов
/ 22 июля 2010

Вы не можете иметь 2 элемента с идентификатором «test», но если код был следующим:

<div id="test">
<p id="test2"></p>
<p></p>
<p></p>
</div>

тогда вы можете использовать

$("#test p").not("#test2")

или

$("#test p:not(#test2)")

, чтобы выбрать только два других абзаца.

См. http://api.jquery.com/not/ для документации по методу not () (первая опция) или http://api.jquery.com/not-selector/ для селектора: not () (вторая опция).

Примечание: здесь не будут выбраны все, а будут элементы второго и третьего абзаца. Я полагаю, это то, что вы имели в виду:)

1 голос
/ 22 июля 2010

Вы можете комбинировать селекторы :not() и has-attribute , например:

$(":not([id])")

Несколько замечаний: в настоящее время у вас есть 2 элемента с одинаковым идентификатором, это недопустимо, поскольку идентификаторы должны быть уникальными. Также вы не должны использовать селектор точно , как у меня выше, он должен быть внутри чего-то, например $("#test :not([id])"), чтобы сузить его ... в противном случае это очень дорого.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...