为什么 $body.children() 包括不在 <body></body> 标签内的元素?

Why is $body.children() including elements that are not within the <body></body> tags?

这是我的HTML:

<!DOCTYPE html>
<html>
<head>
    <script src="jquery.js"></script>
</head>
<body>  
    <p>one</p>
    <p>two</p>
    <p>three</p>
</body>
<script>
var $body = $('body');
var children = $body.children();
alert(children.length) //-> 4
</html>

我希望 alert(children.length) 提醒 3 而不是 4,因为 <body> 标签内只有三个元素。当我遍历子项时,它显示 3 个元素是 <p> 元素(正如预期的那样),而第四个是 <script> 元素。为什么 <script> 元素包含在 body 的子元素中,而它不在 HTML 的 <body> 标签中?

只有<head><body>可以进入<html>。您的 <script> 标记放置不正确,因此浏览器将其错误更正为 <body>