为什么$ body.children()包含不在标记内的元素?

时间:2015-12-24 20:25:10

标签: html children

这是我的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>元素不在HTML中的<body>标记内时,为什么-32768元素包含在正文的子元素中?

1 个答案:

答案 0 :(得分:4)

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