问答详情
源自:9-7 节点属性

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

<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,还是不能明白这个答案,求解~

提问者:没有星星啊 2016-07-16 14:42

个回答

  • 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