问答详情
源自:9-8 访问子节点childNodes

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

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

提问者:我只诉温暖不言殇 2016-09-29 20:36

个回答

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

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

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

  • 勇闯极限
    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。