我有一个需要给出宽度的div。即宽度必须通过CSS或内联样式手动设置(谷歌地图需要设置宽度,我试图实现故障安全,可以这么说。如果开发人员搞砸了,没有指定宽度,我想设置默认宽度。)
在我的JS中,我正在检查:
var width = document.getElementById(this.divId).clientWidth;
不幸的是,即使没有设置宽度,我也会回复1920px
(我明白为什么会这样)。
有没有办法检查宽度是否已手动指定?
PS:我想在没有JQuery等库的帮助下这样做。
答案 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")