定義和用法
has() 將匹配元素集合縮減為擁有匹配指定選擇器或 DOM 元素的後代的子集。
語法
.has(selector)
selector 字符串值,包含匹配元素的選擇器表達式。
詳細說明
如果給定一個表示 DOM 元素集合的 jQuery 對象,.has() 方法用匹配元素的子集來構造一個新的 jQuery 對象。所使用的選擇器用於檢測匹配元素的後代;如果任何後代元素匹配該選擇器,該元素將被包含在結果中。
參考:http:///a/bjad/rqfoffxe.htm
請思考下面這個帶有嵌套列表的頁面:
<ul>
<li>list item 1</li>
<li>list item 2
<ul>
<li>list item 2-a</li>
<li>list item 2-b</li>
</ul>
</li>
<li>list item 3</li>
<li>list item 4</li>
</ul>
我們可以對列表項集合應用該方法,就像這樣:
$('li').has('ul').css('background-color', 'red');
該調用的結果是,項目 2 的背景被設置為紅色,這是因為該項目是後代中唯一擁有 <ul> 的 <li>。
結果如下:
- list item 1
- list item 2
- list item 2-a
- list item 2-b
- list item 3
- list item 4