使用JavaScript为元素添加边距

时间:2015-08-05 00:43:02

标签: javascript dom

我想在整体上添加一些上边距,但我想我并没有正确地提到这个元素。

这就是我所拥有的:

getElementsByTagName("html").style.marginTop = top_height;

我猜测必须有另一种方式来引用<html>标签,因为它是一种独特的标签,但我还没有找到如何经过大量的搜索。我可能没有运行正确的搜索。希望有人可以帮助我。

4 个答案:

答案 0 :(得分:3)

您应该将边距应用于body,因为它是可见元素的根。

此外,getElementsByTagName不在document之内,并返回元素列表。 document.querySelector('body')将返回第一个,或者您可以使用document.body作为Jaromanda推荐。

答案 1 :(得分:2)

  

我猜测必须有另一种方式来引用<html>标记,因为它是一种独特的标记

有。事实上,它有document的属性。它是document.documentElement

此属性带来了改进的性能,因为它不需要运行任何文档查询,并且可以用于访问具有其他文档类型的根元素,例如SVG。

答案 2 :(得分:1)

我建议在主体上添加边距而不是!DOCTYPE html属性。

getElementsByTagName("body").style.marginTop = top_height;

答案 3 :(得分:1)

您需要在document.之前添加getElementsByTagName,然后由于此特定函数返回匹配标记的数组,您可以执行以下操作(在浏览器控制台中尝试并观察stackoverflow向下移动6个像素):

document.getElementsByTagName("html")[0].style.marginTop = "6px";

与提及@Alexander O'Mara一样,document.documentElement是一种更好的方式来访问html元素,因此您的代码将是这样的:

document.documentElement.style.marginTop = "6px";