селекторы jQuery - находят объекты без указанного атрибута

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

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

и в JavaScript я имел бы:

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

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

42
задан kender 28 December 2009 в 11:57
поделиться

3 ответа

jQuery("li:not([style])").hide();
.
77
ответ дан 26 November 2019 в 23:41
поделиться

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

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

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

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

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

.
5
ответ дан 26 November 2019 в 23:41
поделиться

Попробуй:

$('li:not([style])').hide();
1
ответ дан 26 November 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: