jQuery.contains()
函數用于判斷指定元素內是否包含另一個元素。
簡而言之,該函數用于判斷另一個DOM元素是否是指定DOM元素的后代。
該函數屬于全局jQuery
對象。
jQuery 1.4 新增該靜態函數。
jQuery.contains( container, contained )
參數 | 描述 |
---|---|
container | Element類型指定可能包含其他元素的祖輩容器元素。 |
contained | Element類型指定可能被其他元素包含的后代元素。 |
jQuery.contains()
函數的返回值為Boolean類型,如果指定元素包含另一個元素,則返回true
,否則返回false
。
jQuery.contains()
僅用于比較兩個DOM元素(Element類型,不能是NodeList或其他對象)。它會從contained
元素的父元素開始逐級向上查找,判斷其是否等于container
元素,如果是則返回true
,否則返回false
。
請參考以下HTML示例代碼:
<div id="n1">
<p id="n2">
<span id="n3">CodePlayer</span>
</p>
</div>
<p id="n4">專注于編程開發技術分享</p>
以下是與jQuery.contains()
函數相關的jQuery示例代碼,以演示jQuery.contains()
函數的具體用法:運行代碼
//在當前頁面內追加換行標簽和指定的HTML內容
function w( html ){
document.body.innerHTML += "<br>" + html;
}
var n1 = document.getElementById("n1");
var n2 = document.getElementById("n2");
var n3 = document.getElementById("n3");
var n4 = document.getElementById("n4");
var span = document.getElementsByTagName("span");
// n1包含n2
w( $.contains(n1, n2) ); // true
// n1包含n3
w( $.contains(n1, n3) ); // true
// n1不包含n4
w( $.contains(n1, n4) ); // false
// n1雖然包含span元素(n3),但變量span是NodeList對象,不是Element類型。
w( $.contains(n1, span) ); // false