js清除childNodes中的#text(选项卡中会用到获取第一级子元素)-LMLPHP

我们一般为了代码整洁代码都会换行,如上面所述。

获取div1节点下的childNodes

var div = document.getElementById('div1')
var child = div.childNodes
console.log(child)

打印出来结果:js清除childNodes中的#text(选项卡中会用到获取第一级子元素)-LMLPHP

重点:如何其中的text?

注意:   child[0].nodeType //  3

child[0].nodeName // '#text'

如下:

var postChild = []
for (var i = 0; i < child.length; i++) {
if(!(child[i].nodeType == '3' && child[i].nodeName == '#text' && !/\S/.test(child[i].nodeValue))){ //文本节点并且是空的文本节点时,将空文本节点删除
postChild.push(child[i])
}
}
console.log(postChild)

最后输出的postChild:js清除childNodes中的#text(选项卡中会用到获取第一级子元素)-LMLPHP

05-07 15:50
查看更多