为什么.nextElementSibling不会返回null?

时间:2017-06-15 11:39:11

标签: javascript

在下面的代码中,<div>没有任何兄弟姐妹。 previousElementSibling正确返回null,但nextElementSibling没有。{/ p>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>nextElementSibling</title>
</head>
<body>
    <div>test</div>
</body>
<script>
    var demo = document.getElementsByTagName('div')[0];
    console.log(demo.previousElementSibling);
    console.log(demo.nextElementSibling);
</script>
</html>

控制台输出:

enter image description here

Google Chrome版本59.0.3071.86(官方版本)(64位)

为什么会这样?

1 个答案:

答案 0 :(得分:6)

因为Chrome很友好。

源代码中定位的<script>代码无效,因此Chrome会自动将其移至有效的<body>,并成为nextElementSibling。如果您检查加载的页面,您会看到:

enter image description here

相关问题