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

子节点问题

为什么p、DIV,H5的nodeValue会是null?

正在回答

2 回答

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>


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

ok,感觉是因为他们是属性,所以nodeValue会是null

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

举报

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

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

进入课程

子节点问题

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