这个div元素的第一个子节点是什么?

问题描述 投票:1回答:1

在这个例子中,'div'元素的第一个子节点是什么?

我认为这将是第一个'p'元素。它似乎是另一回事。

<!DOCTYPE html>
<html>
<body>

<div id="myDiv">
<p>my first paragraph</p>
<p>my second paragraph</p>
</div>

<p id="demo1"></p>
<p id="demo2"></p>


<script>
document.getElementById("demo1").innerHTML = document.getElementById("myDiv").childNodes[0];

document.getElementById("demo2").innerHTML = document.getElementById("myDiv").childNodes[1].childNodes[0].nodeValue;


</script>

</body>
</html>


my first paragraph

my second paragraph

[object Text]

my first paragraph
html dom child-nodes
1个回答
1
投票

由于在父级的开头有空格,因此以空格为内容的textNode。您可以检查nodeType属性(3 represent text node)以检查节点类型。

console.log(document.getElementById("myDiv").childNodes[0].nodeType)
<div id="myDiv">
  <p>my first paragraph</p>
  <p>my second paragraph</p>
</div>

要获得只有儿童元素使用children属性。

document.getElementById("myDiv").children[0].textContent;

console.log(document.getElementById("myDiv").children[0].textContent)
<div id="myDiv">
  <p>my first paragraph</p>
  <p>my second paragraph</p>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.