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

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


小朱1
浏览 2882回答 3
3回答

生来自由

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

stone310

因为x.firstChild就是文本节点,文本节点是不支持innerHTML查看的,要用nodeValue或者data去查看
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript