2
$("> html").length

上面的语句在 chrome 中导致 1,在 IE 和 Firefox 中导致 0 更新:只要显示的网页是从本地文件系统中的文件加载的,它在所有浏览器中都会导致 1。如果网页在线,则结果全线为 0。我知道的微不足道的问题,但我找不到任何相关的东西。只是想知道这两种行为中哪一种是正确的。提前致谢。

更新:

我创建了以下简单的 html 文件来玩弄各种浏览器的开发工具:

<!DOCTYPE HTML>
<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
</head>
    <body>
    </body>
 </html>
4

2 回答 2

1

你为什么不使用

$("html").length

反而?毕竟 html 不应该是任何东西的后代。

于 2012-10-11T17:01:17.310 回答
0

原来 html 元素的父元素是 document 元素,前提是网页是直接从本地 html 文件加载的。

从 http 服务器加载完全相同的网页时,html 元素没有父元素。

于 2012-10-11T20:13:27.563 回答