ホームページ > 記事 > ウェブフロントエンド > jQuery.contents()関数の詳しい説明
contents() 関数は、現在一致する要素 (テキスト ノード、annotation ノードなどを含む) のすべての子ノードを選択し、それを jQuery オブジェクトの形式で返すために使用されます。
この関数はjQueryオブジェクト(インスタンス)に属します。
構文
この関数はjQuery 1.2で追加されました。
jQueryObject.contents( )
戻り値
contents()関数の戻り値はjQuery型で、現在のjQueryオブジェクトの一致する要素のすべての子ノードを含む新しいjQueryオブジェクトを返します。 (要素、テキスト、コメントなどのすべてのタイプのノードが含まれます)。
2 つの 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 中国語 Web サイトの他の関連記事を参照してください。