JQuery получить все элементы не ниже - PullRequest
2 голосов
/ 13 ноября 2011

У меня проблема: я хочу получить все элементы с классом dirty, а не под грязным элементом. Мое мнение до сих пор:

$(".dirty").not(".dirty .dirty")

Есть ли лучший подход?

Ответы [ 2 ]

2 голосов
/ 13 ноября 2011

Афаик, это почти лучший подход. Вы можете использовать селектор :not [документы] , хотя:

$(".dirty:not(.dirty .dirty)")

jQuery может напрямую передавать этот селектор родным методам браузера, если они доступны.

Могут быть и другие способы, но они не обязательно «лучше» (что бы это ни значило в данном случае).

1 голос
/ 13 ноября 2011

Самый простой способ - использовать селектор jQuery :not.

В вашем случае:

$(".dirty:not(.dirty .dirty)").whatever();

Вот jsFiddle

Объяснение селектора :not:

Селектор: not (селектор) соответствует каждому элементу, который НЕ является указанным элементом / селектором.

Метод .not () завершитсяпредоставляя вам более читаемые выборки, чем вставка сложных селекторов или переменных в фильтр селекторов: not ().В большинстве случаев это лучший выбор.

Селектор для фильтрации.

Посмотрите на селектор CSS3 :not в W3Schools и jQuery страницу для лучшего понимания.

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