节点空白符问题

来源:9-8 访问子节点childNodes

慕盖茨9092533

2018-09-01 10:50

空白节点怎么查的,第一个javascript文本节点不是div的子节点吗?第一个javascript文本节点后面没有空白符吗,有点懵了

写回答 关注

3回答

  • 慕圣3571134
    2018-11-24 14:01:50

    利用循环得到有效的节点,即过滤无效节点,可以编写函数备用。思路是这样的:当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 />";

         }

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


    微虻

    如果是换行加上多几个空格,很容易超过长度5吧。。。

    2019-05-15 10:05:42

    共 1 条回复 >

  • 天天向上学
    2018-09-10 21:06:32

    这个空白符你可以理解成输入完</ul>后,按得回车,换行时系统自动加的空白符. 你没看教程里最后举例如果把这些<ul><li>等写在一行里<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul> 就没有空白符了嘛.

  • hei客
    2018-09-02 16:28:02

    查看它的nodeType啊,,,如果是3那就文本节点啊

JavaScript进阶篇

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

467373 学习 · 21877 问题

查看课程

相似问题