检查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)毫无价值?
答案 0 :(得分:3)
element.offsetWidth
应该足够了 - 不,不需要检查style
元素
答案 1 :(得分:1)
我认为如果你检查元素的计算样式
window.getComputedStyle(element).width
你可以放心,返回的值是正确的,并且比应用的css规则更准确(假设你有一个外部css文件宽度:0!important;,它将覆盖内联的一个,不会是由el.style.width报告给你。