2014-11-03 71 views
0

嘗試將背景顏色添加到我所有的UL的不包含一個鏈接使用jQuery選擇*不*包含一個鏈接列表項

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

的[獲取沒有jQuery的子節點的所有元素]可能重複(http://stackoverflow.com/questions/11061594/get-all-elements-without-child-node-in-jquery) – 2014-11-03 16:08:01

+0

[jQuery selectors - 找到沒有指定屬性的對象]的可能重複(http://stackoverflow.com/questions/1969141/jquery-selectors-find-對象 - 無 - 技術規格ED-屬性) – 2014-11-03 16:38:18

回答

4

使用:not僞選擇器來排除匹配。使用:has僞選擇器來查看一個元素是否包含指定的匹配(不失去祖先範圍)。

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