Селекторы jQuery - где объект не имеет детей с определенным классом

Я хочу к объектам списка выборки, которые являются непосредственными детьми #nav, которые самостоятельно не имеют непосредственных детей с 'активным' классом.

Это - то, что я думаю, что это должно быть всего лишь, это не работает:

$('#nav > li:not(> a.active)')
9
задан user113716 21 April 2010 в 14:34
поделиться

3 ответа

Вам потребуется использовать функцию jQuery filter :

$('#nav > li').filter(function() { return !($(this).children().is('.active')); })
11
ответ дан 4 December 2019 в 06:22
поделиться

Мне очень нравится решение Кена, но только в качестве альтернативы.

Вы можете добавить активный класс к элементам списка вместо ссылок внутри. Тогда ваш селектор может выглядеть так:

$("ul#nav li:not(.active)");

Если вы хотите стилизовать ссылки на основе активного класса, ваш CSS может выглядеть так:

#nav li.active a{background-color:red;}
2
ответ дан 4 December 2019 в 06:22
поделиться

Для этого jquery есть селектор не

, вы можете сделать что-то вроде

$("#nav > li").children(":not(.active)");
0
ответ дан 4 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

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