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

为什么x.firstChild.innerHTML输出的是undefined?

为什么x.firstChild.innerHTML输出的是undefined?

小朱1 2016-12-04 16:18:26
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>无标题文档</title></head><body><div id="con">  <p>javascript</p>  <div>jQuery</div>  <h5>PHP</h5></div><script type="text/javascript">  var x=document.getElementById("con");   document.write("第一"+x.firstChild.innerHTML+"<br>"+"元素节点名:"+x.firstChild.nodeName+"<br>"+"节点的值:"+x.firstChild.nodeValue+"<br>"+"节点类型:"+x.firstChild.nodeType+"<br><br>");  document.write("最后一个"+x.lastChild+"<br>"+"元素节点名:"+x.lastChild.nodeName+"<br>"+"节点的值:"+x.lastChild.nodeValue+"<br>"+"节点类型:"+x.lastChild.nodeType+"<br><br>");</script></body></html>
查看完整描述

3 回答

已采纳
?
生来自由

TA贡献8条经验 获得超5个赞

在高级浏览器下,元素的第一个节点是空文本节点,在低级浏览器下第一个节点才是你想要的元素节点,你可以使用节点的nodeType属性查看该子子节点的类型,结果是1的是元素节点,结果是3的是文本节点

查看完整回答
1 反对 回复 2016-12-05
?
stone310

TA贡献361条经验 获得超191个赞

因为x.firstChild就是文本节点,文本节点是不支持innerHTML查看的,要用nodeValue或者data去查看

查看完整回答
1 反对 回复 2016-12-05
  • 3 回答
  • 0 关注
  • 2824 浏览
慕课专栏
更多

添加回答

举报

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