contents()函數用來選取目前符合元素的所有子節點(包括文字節點、註解節點等),並以jQuery物件的形式傳回。
此函數屬於jQuery物件(實例)。
語法
jQuery 1.2 新增此函數。
jQueryObject.contents( )
傳回值
contents()函數的回傳值為jQuery類型,傳回一個新的jQuery對象,該對象包含了當前jQuery對象匹配元素的所有子節點(包括元素、文字、註釋等所有類型的節點)。
只要兩個HTML標記之間存在任何空白字元(空格、換行符等),就會被視為文字節點。
如果元素是一個d5ba1642137c3f32f4f4493ae923989c,則選取該文件的所有文件節點。
如果沒有符合的元素,則傳回空的jQuery物件。
範例&說明
以下面這段HTML程式碼為例:
<p id="n1"> Hello <span id="n2"> CodePlayer <span id="n3">A</span> </span> <!-- 注释内容 --> <span id="n4"> B <label id="n5"></label> </span> </p>
以下jQuery範例程式碼用於示範contents()函數的具體用法:
//返回jQuery对象所有匹配元素的标识信息数组 //每个元素形如:[文本内容]、[--注释内容--]或#id function getTagsInfo($doms){ return $doms.map(function(){ if(this.nodeType == 3){ // 文本节点 return "[" + this.nodeValue + "]"; }else if(this.nodeType == 8){ // 注释节点 return "[--" + this.nodeValue + "--]"; }else{ return "#" + this.id; } }).get(); } // 匹配n1元素所有的子节点(包括文本节点、注释节点等,下同) var $n1_contents = $("#n1").contents(); document.writeln( getTagsInfo( $n1_contents ) ); // [ Hello ],#n2,[ ],[-- 注释内容 --],[ ],#n4,[ ] //匹配span元素所有的子节点 var $span_contents = $("span").contents(); document.writeln( getTagsInfo( $span_contents ) ); // [ CodePlayer ],#n3,[ ],[A],[ B ],#n5,[ ] // 匹配span元素所有子节点中的非Element节点 var $span_text = $span_contents.filter( function(){ return this.nodeType != 1; } ); document.writeln( getTagsInfo( $span_text ) ); // [ CodePlayer ],[ ],[A],[ B ],[ ] //匹配n5元素所有的子节点,n5标签中没有任何内容,因此返回空的jQuery对象,匹配0个元素 var $n5_contents = $("#n5").contents(); document.writeln( $n5_contents.length ); // 0
以上是jQuery.contents() 函數詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!