获取给定元素的“设置”宽度

时间:2014-08-08 15:05:28

标签: javascript css

我有一个需要给出宽度的div。即宽度必须通过CSS或内联样式手动设置(谷歌地图需要设置宽度,我试图实现故障安全,可以这么说。如果开发人员搞砸了,没有指定宽度,我想设置默认宽度。)

在我的JS中,我正在检查:

var width = document.getElementById(this.divId).clientWidth;

不幸的是,即使没有设置宽度,我也会回复1920px(我明白为什么会这样)。

有没有办法检查宽度是否已手动指定?

PS:我想在没有JQuery等库的帮助下这样做。

3 个答案:

答案 0 :(得分:1)

您可以使用getComputedStyle

例如:window.getComputedStyle(document.getElementById(this.divId),null).getPropertyValue("width")

<强> jsFiddle example

答案 1 :(得分:1)

var width = document.getElementById(this.divId).getAttribute("width");

获取宽度属性

 function getCSS(element, property) {

 var elem = document.getElementById(element);
 var css = null;

 if(elem.currentStyle) {

 css = elem.currentStyle[property];


 } else if(window.getComputedStyle) {


 css = document.defaultView.getComputedStyle(elem, null).
       getPropertyValue(property);

 }

 return css;



}

这是用于获取宽度或任何其他css属性的css值。您可以验证宽度的最大值或最小值,如果它不在故障安全范围内,则使用默认值进行更新。

答案 2 :(得分:0)

您可以使用DOM api jsFiddle

风格:

document.getElementById("test").style.width

属性:

document.getElementById("test").getAttribute("width")