内容目录
contents()
函数用于选取当前匹配元素的所有子节点(包括文本节点、注释节点等),并以jQuery对象的形式返回。
该函数属于jQuery
对象(实例)。
语法
jQuery 1.2 新增该函数。
jQueryObject.contents( )
返回值
contents()
函数的返回值为jQuery类型,返回一个新的jQuery对象,该对象包含了当前jQuery对象匹配元素的所有子节点(包括元素、文本、注释等所有类型的节点)。
只要两个HTML标记之间存在任何空白字符(空格、换行符等),就会被视作文本节点。
如果元素是一个<iframe>,则选取该文档的所有文档节点。
如果没有匹配的元素,则返回空的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
0 条评论
撰写评论