Подтвердить что ты не робот

Селекторы jQuery - поиск объектов без указанного атрибута

У меня есть несколько объектов на странице, и я хочу выполнить операцию с использованием jQuery только для некоторых из них - тех, у которых нет указанного атрибута. Итак:

<li style='...'>some text</li>
<li style='...'>some other text</li>
<li>some very diffrent text</li>

и в javascript я бы:

$('li[style]').hide();

который скроет все элементы с помощью style sttribute. Но если я хочу скрыть те без, как должен выглядеть мой селектор?

4b9b3361

Ответ 1

jQuery("li:not([style])").hide();

Ответ 2

Вы можете использовать: not psuedo-selector для поиска элементов, которые не соответствуют определенному селектору. В вашем примере вы хотите выбрать все элементы li без атрибута style, поэтому вы должны использовать что-то вроде этого:

$('li:not([style])').hide();

Вы также можете комбинировать это с другими селекторами:

$('#div input:not(:checked)').show();

Это довольно мощный инструмент!

Ответ 3

Попробуйте:

$('li:not([style])').hide();

Ответ 4

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

$('li').not('[style]').hide();

Это также то, что разработчики jQuery рекомендуют.