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

为什么节点的值为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,还是不能明白这个答案,求解~

正在回答

2 回答

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

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

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

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

没有星星啊 提问者

那这个意思是在ul下的li中是这样,还是无论获取的标签nodevalue都是undefined或null呢~~~
2016-07-17 回复 有任何疑惑可以回复我~
#2

慕粉3361053 回复 没有星星啊 提问者

var text =document.getElementsByTagName("li");获取的是li把?
2016-08-14 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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