我在搞乱 DOM 树。特别是这个 HTML 代码

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>MovieApp</title>
        <!-- <link rel="stylesheet" href="style.css"> -->
        <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
        <script src="script.js"></script>
    </head>
    <body>
        <div>
            <h1>MovieApp</h1>
            <input type="text" name="movie-title" size="50"
                placeholder="Enter movie title..." />
            <input type="submit" name="search" value="Search"/>
        </div>
    </body>
</html>

还有一些我无法弄清楚的事情。当我检查节点子节点( document.documentElement.childNodes[i] )时,我总是得到三个子节点,而不是我期望的两个:
  • <head> 节点
  • #text
  • <body> 节点

  • 这个 #text 节点是什么?在 JSFiddle 中,我得到了相同的结果。

    提前致谢。

    javascript - 为什么 DOM 树中的 head 和 body 节点之间有一个文本节点?-LMLPHP

    最佳答案

    查看 textContent 或其他类似属性 - 它是一个换行符和一些空格,正好位于 </head><body> 之间。

    所以 headbody 之间没有什么“有用”的东西,但那个空间仍然存在。

    考虑:

    <div><a href="#">Some Link</a> Some Text <a href="#">Another Link</a></div>
    

    这将具有三个节点 - 第一个链接、文本和第二个链接。同样的交易,除了你的“文本”只是一堆空白。

    关于javascript - 为什么 DOM 树中的 head 和 body 节点之间有一个文本节点?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40681355/

    10-12 00:21
    查看更多