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

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

 

获取div1节点下的childNodes

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

打印出来结果:

重点:如何其中的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:

posted @ 2018-11-12 10:21  骏码信息  阅读(809)  评论(0编辑  收藏  举报