jQuery Селектор "Не має атрибута"?


142

Я можу знайти div, який має такий атрибут:

$('.funding-plan-container[data-timestamp]')

Але якщо я спробую знайти div, у якого немає цього атрибута, я отримаю помилку - мій код такий:

$('.funding-plan-container[!data-timestamp]')

Чи є у jQuery селектор "не має атрибута"?

Для довідки, приклад використання тут полягає в тому, що будь-який div, який не має атрибута часової позначки, не був доданий динамічно, а значить, є корисним.

Дякую!

Відповіді:


220

Використовуйте :not()селектор.

$('.funding-plan-container:not([data-timestamp])')

Це, до речі, є дійсним селектором API Selectors, тому він не характерний для jQuery. Вона буде працювати з querySelectorAll()і в вашому CSS ( з урахуванням підтримки браузера ) .


12
Інший спосіб записати його `$ ('. Finance-plan-container').
Not

@epascarello: Дуже правда.
Я ненавиджу ледачий

37

Ви можете відфільтрувати селектор за допомогою перемикача .not () або : not () .

$('.funding-plan-container:not([data-timestamp])').

АБО

$('.funding-plan-container').not('[data-timestamp]') 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.