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

为什么不测试nodeName、nodeType,单独测试nodeValue会为空?

为什么不测试nodeName、nodeType,单独测试nodeValue会为空?

正在回答

2 回答

首先nodeValue是返回的是节点的值  如果单独测试console.log(node.nodeValue) 会出现undefined 

在文本节点里 ,空格也是节点 如果刚好firstChild.nodeName 获取的是空格   所以nodeValue会返回的是空。

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

我只诉温暖不言殇 提问者

非常感谢!
2016-10-06 回复 有任何疑惑可以回复我~

不会出现这种情况,找到一个元素的firstChild然后点nodeValue,当然firstChild会受空格影响,去掉空格,比如<div id="d1">test</div>要得到元素的nodeValue.    var node=document.getElementById("d1"); alert(node.firstChild.nodeValue);得到test,或者alert(node.nodeType);得到1。alert(node.nodeName);得到DIV。

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

举报

0/150
提交
取消

为什么不测试nodeName、nodeType,单独测试nodeValue会为空?

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