为了账号安全,请及时绑定邮箱和手机立即绑定

节点空白符问题

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

正在回答

3 回答

利用循环得到有效的节点,即过滤无效节点,可以编写函数备用。思路是这样的:当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 回复 有任何疑惑可以回复我~
#1

微虻

如果是换行加上多几个空格,很容易超过长度5吧。。。
2019-05-15 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       467382    人
  • 解答问题       21877    个

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

进入课程

节点空白符问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信