检查元素宽度的最佳方法是什么?

时间:2013-08-23 15:12:56

标签: javascript css

检查width属性是否足以确保我的DOM元素具有严格的正宽度,或者我是否还要检查css规则(我只查找具有固定像素数的元素作为CSS规则,没有%宽度。)

if (element.offsetWidth && element.offsetWidth > 0) // do stuff

OR

if ((element.offsetWidth && element.offsetWidth > 0)
     || (element.style && element.style.width
         && int(element.style.width.replace("px", ""), 10)>0 ) // do stuff

我宁愿选择第一个,但我想确保设置CSS规则也会设置width属性。

----编辑----

实际上offsetWidth似乎比width更好。我将width更改为offsetWidth

它是否使第二个选项(检查CSS)毫无价值?

2 个答案:

答案 0 :(得分:3)

element.offsetWidth应该足够了 - 不,不需要检查style元素

答案 1 :(得分:1)

我认为如果你检查元素的计算样式

window.getComputedStyle(element).width

你可以放心,返回的值是正确的,并且比应用的css规则更准确(假设你有一个外部css文件宽度:0!important;,它将覆盖内联的一个,不会是由el.style.width报告给你。