等同于innerHTML的文本 [英] Equivalent of innerHTML for text
本文介绍了等同于innerHTML的文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可能重复:
内部的jQuery的.text()如何工作?
Possible Duplicate:
How does jQuery’s .text() work, internally?
我正在寻找等价于innerHTML
的文本,即
I'm looking for the text equivalent of innerHTML
, i.e.
<p>Hello, <i>World!</i></p>
然后innerText(p)
应该返回Hello, World!
.
注意:我知道jQuery的text()
函数.我想知道它是如何实现的,因此我可以在某些节点上进行特殊处理,例如插入额外的空白.
Note: I'm aware of jQuery's text()
function. I want to know how it is implemented so I can do special handling on some nodes, like inserting extra white space.
推荐答案
如何?
var getInnerText = function (element) {
var nodes = element.childNodes,
i = 0,
len = nodes.length,
text = '';
for (; i < len; i++) {
if (nodes[i].nodeType === 3 || nodes[i].nodeType === 4) {
// 3 means text node, 4 means cdata
text += nodes[i].nodeValue;
} else {
text += getInnerText(nodes[i]);
}
}
return text;
};
然后:var innerText = getInnerText(myElement);
这篇关于等同于innerHTML的文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文