[英]Javascript: Is it safe to refer to the <html> DOM-node?
在只有CSS选择器可用于检索元素的环境中工作,我想在DOM中获得覆盖整个浏览器窗口的元素。 使用开发人员工具,我发现<body>
在我的情况下有一定余地,这使其不适合我的要求。
我进一步发现<html>
元素涵盖了浏览器窗口的整个区域。 关于文档属性使用该DOM节点是否安全? 即获取宽度/高度?
<html>
是否与javascript中所谓的document
相对应?
编辑:关于设置的旁注:
我正在与实习生一起包装WD版本,并希望协调鼠标相对于文档的移动。 我的目标是使用诸如selectByCssSelector
类的方法来协调鼠标相对于所选元素的移动。 到目前为止,在这里使用<html>
节点似乎可以解决问题。 我之前从未接触过<html>
节点,也从未见过其他人这样做,因此我想确保使用该节点还不错。
文档对象是DOM HTML对象,因此,是的,它确实与<html>
标记相对应,但不符合您的想法。 它不像<body>
或<span>
标记。 它告诉浏览器以下代码或信息是HTML。 就像<?php
告诉服务器有PHP代码,而<script type="text/javascript">
告诉浏览器有Javascript代码一样。 有关更多信息,请查看此页面。
如果不想获取主体的宽度和高度,可以使用window.innerWidth
和window.innerHeight
。 这应该获得整个窗口的高度和宽度(不包括任何滚动条或工具箱)。
您还可以使用documentElement获取整个文档的宽度和高度。
var height = document.documentElement.clientHeight;
var width = document.documentElement.clientWidth;
这可能是你正在寻找最后的答案,但你也可以通过使用发现整个文档的宽度和高度document
中的jQuery。
var width = $(document).width();
var height = $(document).height();
html
表示文档中的所有标记和内容,但与document
对象不对应。 相反,它作为其属性document.documentElement
(尽管也可以通过许多其他方式引用它,例如document.children[0]
)。
如您所注意, body
元素可能有一个空白,默认情况下,所有侧面都有8px的空白。 因此,假设您让html
元素的尺寸默认为html
,而不是html
元素,则应将其称为浏览器窗口中的整个视口。 您可以将尺寸获取为document.documentElement.clientWidth
和document.documentElement.clientHeight
。
但是,由于历史原因,通过CSS定义,即使将html
元素的背景设置为较小尺寸,它的背景也会始终覆盖整个画布。 如果同时设置背景和边框,则可以看到此内容。 背景可能会超出边界。 此外,CSS规范还指定如果未为html
设置背景,则使用body
的背景。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.