JavaScript 中,nodeValue节点值是什么东西?我怎么实验不出来?

<div id="AAAid" name="AAAname">1111</div>
<div id="BBBid" name="BBBname">2222</div>
<div id="CCCid" name="CCCname">3333</div>
<input type="button"  id="DDDid"  name="DDDname" value="delAll" ><br>
<input type="text" id="EEEid"  name="EEEname" value="asdf">
var AAA=document.getElementById('AAAid');
var DDD=document.getElementById('DDDid');   
var EEE=document.getElementById('EEEid');

console.log(AAA.nodeValue);
console.log(DDD.nodeValue);
console.log(EEE.nodeValue);

图片描述

阅读 3k
3 个回答

你要不就设个断点,或者console.dir(AAA),看看AAA里面都有些什么属性。

var AAA=document.getElementById('AAAid').childNodes[0];
var DDD=document.getElementById('DDDid').childNodes[0];
var EEE=document.getElementById('EEEid').childNodes[0];

var AAA=document.getElementById('AAAid');

变量AAA获取的是div#AAAid这个元素节点,对于元素节点,nodeName中保存的始终是元素的标签名,而nodeValue中的值始终是null。所以你的控制台输出的值为null。

而你想获取的是标签<div>里所包裹的文本,可以用元素节点的textContent属性得到,或者进一步取到元素节点div#AAAid的子节点也就是文本节点,然后再利用nodeValue来获取文本。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题