使用jQuery选择* don * t *包含链接的列表项

时间:2014-11-03 16:05:38

标签: javascript jquery html css

尝试为我的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

2 个答案:

答案 0 :(得分:4)

使用:not伪选择器排除匹配项。使用:has伪选择器查看元素是否包含指定的匹配(不会丢失祖先范围)。

$('#list li:not(:has(a))').css({'background': 'red'});

答案 1 :(得分:0)

您可以合并:not:has

$('#list > li:not(:has(a))').css({'background': 'red'});

http://jsbin.com/quyalunipo/1/edit?html,css,js,output