.has()
.has( selector ) 返回: jQuery
描述: 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
-
version added: 1.4.has( selector )
selector一個用于匹配元素的選擇器字符串。
-
version added: 1.4.has( contained )
contained用于匹配元素的DOM元素。
如果提供一個jQuery對象代表DOM元素集合, .has() 方法會用其子集創(chuàng)建一個新的jQuery對象。提供的選擇器會一一測試原先那些元素的后代,含有匹配后代的元素會保留在結(jié)果中。
下面是一個嵌套列表的頁面:
<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');
結(jié)果是 item 2 背景變成了紅色,因為只有這個 <li> 含有 <ul> 后代。
Example:
檢測是否一個元素在另一個之內(nèi)。
<!DOCTYPE html>
<html>
<head>
<style>
.full { border: 1px solid red; }
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<ul><li>Does the UL contain an LI?</li></ul>
<script>
$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>");
$("ul").has("li").addClass("full");
</script>
</body>
</html>