在此示例中,“ 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
答案 0 :(得分: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>