我在搞乱 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 中,我得到了相同的结果。提前致谢。
最佳答案
查看 textContent
或其他类似属性 - 它是一个换行符和一些空格,正好位于 </head>
和 <body>
之间。
所以 head
和 body
之间没有什么“有用”的东西,但那个空间仍然存在。
考虑:
<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/