关于过滤空节点的看法

来源:9-7 节点属性

慕圣3571134

2018-11-24 14:05

利用循环得到有效的节点,即过滤无效节点,可以编写函数备用。思路是这样的:当type为1时即为元素节点,也就是有效节点,可以暂存起来,当type为3时就是文本节点了,也就是无效节点,但是这里有个情况是:节点集里确实有文本节点,你不可以视为无效值,所以需要判断其value值的长度如果大于5,那么就是有效节点,为什么大于5呢?我们在编写代码的时候,经常要换行,那么这个换行符就被视为节点,且为文本节点,长度为5,这个我是在IE下检验的,其他浏览器大家可以试试。

关于节点集:返回节点集的方法很多,例如:getElementsByName(通过name获得节点集),childNodes(通过访问子节点获得节点集)等!

for(let i=0;i<list.length;i++){

    //list指获得的节点集

     var n=list[i].nodeName; //节点名

     var v=list[i].nodeValue; //节点值

     var t=list[i].nodeType; //节点类型

     if(t===1){//当为元素节点

          s+="Name:"+n+";Value:"+v+";Type"+t+"<br />";

     //当为文本节点且内容长度>5时

     }else if(t===3&&v.length>5){

          s+="Name:"+n+";Value:"+v+";Type"+t+"<br />";

     }

注意:以上纯属个人测试,不做为学习依据,仅作为交流!


写回答 关注

1回答

  • 小王记笔记
    2019-05-05 18:55:36

    优秀啊

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

467393 学习 · 21877 问题

查看课程

相似问题