课程
/前端开发
/JavaScript
/JavaScript进阶篇
为什么不测试nodeName、nodeType,单独测试nodeValue会为空?
2016-09-29
源自:JavaScript进阶篇 9-8
正在回答
首先nodeValue是返回的是节点的值 如果单独测试console.log(node.nodeValue) 会出现undefined
在文本节点里 ,空格也是节点 如果刚好firstChild.nodeName 获取的是空格 所以nodeValue会返回的是空。
我只诉温暖不言殇 提问者
不会出现这种情况,找到一个元素的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。
举报
本课程从如何插入JS代码开始,带您进入网页动态交互世界
1 回答nodeName,nodeValue,nodeType有什么意义
3 回答既然nodeName,nodeValue,nodeType都是这个节点的属性,为何用getAttribute('nodeName')获取不到
2 回答测试有效 ,简单易懂
1 回答怎么获得里面文本结点(比如"javascript")的nodeName,nodeType,nodeValue呢?
2 回答nodeValue为什么我是空的结果