<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<script type="text/javascript">
function fire() {
console.log(document.body.children.length);
console.log(document.body.children[0].children.length);
}
</script>
<body onload="fire()">
<div>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer pharetra ipsum erat. Aenean convallis laoreet massa, et gravida purus faucibus ac. <a id="test"/>Vestibulum libero justo.</p>
</div>
</body>
</html>
Когда вы откроете консоль, вы увидите, что <a>
- это children
из <body>
, <div>
и <p>
. WTF ??
Если <a>
закрывается с помощью «правильного» закрывающего тега, проблема исчезает, и ее единственный дочерний элемент - <p>
.
Может кто-нибудь объяснить мне это?
PS: проверено на стабильной версии Chrome.