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

来源:9-8 访问子节点childNodes

我只诉温暖不言殇

2016-09-29 20:36

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

写回答 关注

2回答

  • weibo_FADE呵呵_04068236
    2016-09-30 20:04:50
    已采纳

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

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

    我只诉温暖不...

    非常感谢!

    2016-10-06 17:38:25

    共 1 条回复 >

  • 勇闯极限
    2016-09-30 15:42:07

    不会出现这种情况,找到一个元素的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。

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题