本文介绍了一个用于解决浏览器innerText兼容性的JavaScript函数。该函数通过递归遍历DOM节点,利用nodeType判断节点类型,分别处理文本节点和元素节点,从而兼容不同浏览器获取元素纯文本内容的需求。
JavaScript实现innerText浏览器兼容的递归函数
以下函数接收一个参数,该参数可以是数组或者单个DOM元素,最终返回该元素的纯文本内容。
具体实现代码如下:
function text(e){
var str = "";
//如果传入的是元素,获取它的子元素
//否则,当它是一个数组
e=e.childNodes || e;
for ( var i = 0; i < e.length; i++ ) {
//判断元素类型
//如果是text就获取它的文本,否则,遍历它的子元素
str += e[i].nodeType != 1 ? e[i].nodeValue : text(e[i].childNodes);
}
return str;
}