慕圣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 />";
}
注意:以上纯属个人测试,不做为学习依据,仅作为交流!
优秀啊
JavaScript进阶篇
468061 学习 · 21891 问题
相似问题