jQuery选择器 - 其中item没有具有特定类的子项

时间:2010-04-21 14:27:41

标签: jquery css-selectors

我想选择#nav的直接子项列表项,这些项目本身不具有“活动”类的直接子项。

这是我认为它应该是但它不起作用:

$('#nav > li:not(> a.active)')

4 个答案:

答案 0 :(得分:24)

您就是这样做的:

    $('#nav > li:not(:has(a.active))')

答案 1 :(得分:11)

您需要使用jQuery的filter函数:

$('#nav > li').filter(function() { return !($(this).children().is('.active')); })

答案 2 :(得分:2)

我真的很喜欢Ken的解决方案,但只是为了另一种选择。

您可以将活动类添加到列表项而不是内部链接。然后你的选择器看起来像:

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

如果要根据活动类设置链接的样式,CSS可能如下所示:

#nav li.active a{background-color:red;}

答案 3 :(得分:0)

这个jquery有not选择器

你可以做点什么

$("#nav > li").children(":not(.active)");
相关问题