JS获取对象的某个CSS属性值的问题_html/css_WEB-ITnose
程序员文章站
2022-05-28 23:17:24
...
function getStyle(obj,attr){ if(obj.currentStyle){ return obj.currentStyle[attr]; }else{ return getComputedStyle(obj,false)[attr]; } }
该方法很强大,兼容所有浏览器,可获取对象的某个特定的CSS属性;
但是后来使用该方法时,发现在火狐和IE上有个共同的BUG,就是获取border的值时,他们都返回空了;
因为浏览器对border的渲染有差异,在火狐上border是分四个方向来渲染的,
所以获取border的值时,要分开获取,
这样:getStyle(obj,'borderLeftWidth') 来取得边框的值。
其实这个方法本身是没有任何问题的,只是在使用时,只是在使用时对浏览器本身的一些差异,还是要注意;
是否其他属性的值也有这种差异,还要在实际使用时去发现。
另外,该方法在获取行内样式时是不通用的,还是要用 obj.style[attr]
推荐阅读
-
js获取对象属性的值(讲解js遍历对象属性名获取属性值)
-
js获取对象属性的值(讲解js遍历对象属性名获取属性值)
-
js利用for in循环获取 一个对象的所有属性以及值的实例
-
JS 中对数组按照数组中某个对象的属性值进行排序
-
JS和jQuery通过this获取html标签中的属性值(实例代码)
-
js获取对象,数组所有属性键值(key)和对应值(value)的方法示例
-
js简单遍历获取对象中的属性值的方法示例
-
自学篇之js 提取复选框和单选框的值 和纯css的3D按钮_html/css_WEB-ITnose
-
WebForm 获取实体类的数据,填充页面(用session传值)_html/css_WEB-ITnose
-
【江湖百晓生】我写的js代码,在火狐下不兼容,跪求兼容方法很简单的问题_html/css_WEB-ITnose