慕盖茨9092533
2018-09-01 10:50
空白节点怎么查的,第一个javascript文本节点不是div的子节点吗?第一个javascript文本节点后面没有空白符吗,有点懵了
利用循环得到有效的节点,即过滤无效节点,可以编写函数备用。思路是这样的:当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 />";
}
注意:以上纯属个人测试,不做为学习依据,仅作为交流!
这个空白符你可以理解成输入完</ul>后,按得回车,换行时系统自动加的空白符. 你没看教程里最后举例如果把这些<ul><li>等写在一行里<ul><li>javascript</li><li>jQuery</li><li>PHP</li></ul> 就没有空白符了嘛.
查看它的nodeType啊,,,如果是3那就文本节点啊
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题