Jquery源码分析---DOM元素(下)
2010-09-14 13:36:29 来源:WEB开发网5.4.2 text
Jquery的text可以把document.createTextNode(text)的节点加到已经除去所有子元素的当前元素的内部。觉得对于IE,采用insertAdjacentText速度会更快。取值话,text会把当前元素的所有文本节点都连串成字符串。
// text()
// 取得所有匹配元素的内容。结果是由所有匹配元素包含的文本内容组合起来的文本。
// 对HTML和XML文档都有效。
// text(val)
// 设置所有匹配元素的文本内容.与 html() 类似, 但将编码 HTML
// "<" 和 ">" 替换成相应的HTML实体).
text : function(text) {
if (typeof text != "object" && text != null)//设值
return this.empty()// 除去元素中所有的子元素,加上创建的文本节点
.append((this[0] && this[0].ownerDocument || document)
createTextNode(text));
//取值,这里可以看text可以是对象,如是对象,
//对所有属性对应的元素(一定要是dom元素(节点))进行取值。
var ret = "";
jQuery.each(text || this, function() {
// 所有匹配元素包含的文本内容组合起来
jQuery.each(this.childNodes, function() {
if (this.nodeType != 8)// 8:注释
ret += (this.nodeType != 1// 元素的话,递归子元素
? this.nodeValue: jQuery.fn.text([this]));
});
});
return ret;
},
更多精彩
赞助商链接