为什么节点的值为null不是他的javascript........

来源:9-7 节点属性

没有星星啊

2016-07-16 14:42

<script type="text/javascript">

    var text =document.getElementsByTagName("li");

for(var i=0;i<text.length;i++){

document.write("li["+(i+1)+"]:"+"节点名"+text[i].nodeName+"<br>");

document.write("节点值"+text[i].nodeValue+"<br>");

document.write("节点类型"+text[i].nodeType+"<br>");

}

  </script>

运行后,节点值显示为null。上面的代码划线加粗的部分,我看问答区中有人回答说是获取的是ul不是li,还是不能明白这个答案,求解~

写回答 关注

2回答

  • xuzetao
    2016-07-20 14:32:21

    查阅资料发现,w3c对于xml的节点类型有严格规定,我们又没有自己编写DTD或者schema来指定数据类型的习惯,所以w3c就按自己的理解来了。所以name节点有两个身份,第一它是Node,没有值,第二它是Node的children,有一个text的值==Javascript。所以你要这样: node[i].firstChild.nodeValue

  • 大顺子哥
    2016-07-16 18:35:13

    这个获取的是标签全为li的数组。给你看张图,元素节点的nodevalue是undefined或者null。http://img.mukewang.com/578a0dd6000130ec03820637.jpg

    慕粉3361... 回复没有星星啊

    var text =document.getElementsByTagName("li");获取的是li把?

    2016-08-14 20:40:51

    共 2 条回复 >

JavaScript进阶篇

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

467393 学习 · 21877 问题

查看课程

相似问题