我想选择#nav的直接子项列表项,这些项目本身不具有“活动”类的直接子项。
这是我认为它应该是但它不起作用:
$('#nav > li:not(> a.active)')
答案 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)");