jQuery选择器 – 其中item没有具有某个类的子项
我想选择#nav的直接子项列表项,这些项目本身不具有“活动”类的直接子项。
这是我认为它应该是但它不起作用:
$('#nav > li:not(> a.active)')
你需要使用jQuery的filter
function:
$('#nav > li').filter(function() { return !($(this).children().is('.active')); })
这是你如何做到的:
$('#nav > li:not(:has(a.active))')
我真的很喜欢Ken的解决方案,但只是为了另一种选择。
您可以将活动类添加到列表项而不是内部链接。 然后你的选择器看起来像:
$("ul#nav li:not(.active)");
如果要根据活动类设置链接的样式,CSS可能如下所示:
#nav li.active a{background-color:red;}
对于这个jquery有not选择器
你可以做点什么
$("#nav > li").children(":not(.active)");