猿问

Dom节点问题

<h1>这是h1</h1>
<p>这是p1</p>
<p>这是p2</p>
<p>这是p3</p>
<p>这是p4</p>
var ptag=document.getElementsByTagName('h1')[0].firstChild; //空文本
    alert(ptag.nodeValue);
    双标签的第一个子节点是空文本,如果打印ptag.nodeName一定是#text,都是为什么ptag.nodeValue是“这是h1”呢???这个很费解,比应该是null么


nobcainiao
浏览 1392回答 2
2回答

慕圣1242559

双标签的第一个子节点并不都是空节点.你可以用以下代码测试<script> window.onload=function(){    var p1=document.getElementById("hi");     alert(p1.firstChild.nodeName);    } </script> //1 <body>     <div id="hi">       //div 与h1之间有空文本     <h1>这是h1</h1></div> </body> //2 <body>     <div id="hi"><h1>这是h1</h1></div>      //div 与h1之间没有空文本 </body>

迷途的马尔斯

你通过TagName获取h1这个对象的第一个元素,即第一个h1的内容,由于这里只有一个h1,所以就是"这是h1"
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答