为了账号安全,请及时绑定邮箱和手机立即绑定

Dom节点问题

Dom节点问题

nobcainiao 2015-12-20 17:53:11
<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么
查看完整描述

2 回答

?
慕圣1242559

TA贡献1条经验 获得超0个赞

双标签的第一个子节点并不都是空节点.你可以用以下代码测试

<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>


查看完整回答
反对 回复 2015-12-20
?
迷途的马尔斯

TA贡献72条经验 获得超106个赞

你通过TagName获取h1这个对象的第一个元素,即第一个h1的内容,由于这里只有一个h1,所以就是"这是h1"

查看完整回答
反对 回复 2015-12-20
  • 2 回答
  • 0 关注
  • 1391 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信