jQuery 遍歷 - has() 方法
實例
檢測某個元素是否在另一個元素中:
$("ul").append("<li>" + ($("ul").has("li")
.length ? "Yes" : "No") + "</li>"); $("ul").has("li")
.addClass("full");
定義和用法
has() 將匹配元素集合縮減為擁有匹配指定選擇器或 DOM 元素的后代的子集。
語法
.has(selector)
參數(shù) | 描述 |
---|---|
selector | 字符串值,包含匹配元素的選擇器表達式。 |
詳細說明
如果給定一個表示 DOM 元素集合的 jQuery 對象,.has() 方法用匹配元素的子集來構造一個新的 jQuery 對象。所使用的選擇器用于檢測匹配元素的后代;如果任何后代元素匹配該選擇器,該元素將被包含在結果中。
請思考下面這個帶有嵌套列表的頁面:
<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');
該調(diào)用的結果是,項目 2 的背景被設置為紅色,這是因為該項目是后代中唯一擁有 <ul> 的 <li>。