<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,还是不能明白这个答案,求解~
查阅资料发现,w3c对于xml的节点类型有严格规定,我们又没有自己编写DTD或者schema来指定数据类型的习惯,所以w3c就按自己的理解来了。所以name节点有两个身份,第一它是Node,没有值,第二它是Node的children,有一个text的值==Javascript。所以你要这样: node[i].firstChild.nodeValue
这个获取的是标签全为li的数组。给你看张图,元素节点的nodevalue是undefined或者null。