子节点问题
为什么p、DIV,H5的nodeValue会是null?
2016-04-27
p、DIV,H5这些是标签不是属性,分类到元素节点,可以回顾一下9-7对于nodeValue的说明
二、nodeValue 属性:节点的值
1. 元素节点的 nodeValue 是 undefined 或 null
2. 文本节点的 nodeValue 是文本自身
3. 属性节点的 nodeValue 是属性的值
p、DIV,H5的nodeValue会是null 这就能理解了吧
然后,我想你也许想把标签里面的字用nodeValue输出出来,标签里的字是文本节点,所以获取文字应该是标签的子节点的nodeValue,下为代码
<script type="text/javascript">
var divs=document.getElementsByTagName("div");
var d_first=divs[0].childNodes;
for(i=0;i<d_first.length;i++){
while(d_first[i].nodeType==1)//做了一个对空白节点的过滤,不然获取标签子节点的nodeValue会报错,因为空白节点没有子节点
{
document.write("节点类型:"+d_first[i].nodeName+d_first[i].childNodes[0].nodeValue+d_first[i].nodeType+"<br>");
break;
}
}
</script>
举报