尝试为我的ul中不包含链接的所有元素添加背景颜色
HTML:
<ul id="list">
<li><a href="http://google.com/">Google</a></li>
<li><a href="http://yahoo.com/">Yahoo</a></li>
<li>Not a link</li>
<li><a href="http://live.com/">Live</a></li>
<li>Not a link</li>
</ul>
使用Javascript:
$('#list li').css({'background': 'red'});
但这改变了所有这些 - http://jsbin.com/pusogihuvi/1/edit?html,js,output
答案 0 :(得分:4)
使用:not
伪选择器排除匹配项。使用:has
伪选择器查看元素是否包含指定的匹配(不会丢失祖先范围)。
$('#list li:not(:has(a))').css({'background': 'red'});
答案 1 :(得分:0)
您可以合并:not
和:has
:
$('#list > li:not(:has(a))').css({'background': 'red'});