Javascript 即使未设置,也要获取宽度

Javascript 即使未设置,也要获取宽度,javascript,html,Javascript,Html,我知道,即使我们没有设置div的绝对位置(通过使用offset),也可以获得div的绝对位置: 即使没有指定div的宽度(或高度),我们也可以得到它吗?如果可以使用jQuery,那么很容易:$(“#id”).width()或.height()。这也适用于大多数浏览器(即使是非常旧的浏览器)。您可以使用offsetHeight或offsetWidth,如下所示: var elem_height = document.getElementById('elem').offsetHeight; var

我知道,即使我们没有设置div的绝对位置(通过使用offset),也可以获得div的绝对位置:


即使没有指定div的宽度(或高度),我们也可以得到它吗?

如果可以使用jQuery,那么很容易:$(“#id”).width()或.height()。这也适用于大多数浏览器(即使是非常旧的浏览器)。

您可以使用
offsetHeight
offsetWidth
,如下所示:

var elem_height = document.getElementById('elem').offsetHeight;
var elem_width = document.getElementById('elem').offsetWidth;

这将返回包括边框和填充(但不包括边距)的尺寸。

您可以使用clientWidth和offsetWidth来获取宽度

var foo = document.getElementById('foo').clientWidth;
var foo = document.getElementById('foo').offsetWidth;

clientWidth返回元素的可视宽度,但不包括边框、边距或滚动条。offsetWidth返回元素的宽度(包括边框和填充),但不返回边距。

您可以获得感谢,但如果没有jQuery,我将等待另一个答案。它可能是
outerWidth()
outerHeight()
:两个方法都不包含边距。