获得DOM的样式

参考文章:

js中style,currentStyle和getComputedStyle的区别_百度知道

getComputedStyle()与currentStyle属性的差别详解。—不是同门,似同门

getComputedStyle与currentStyle获取样式(style/class)

问:js中style,currentStyle和getComputedStyle的区别?

答:style不仅能取得style的样式,还能设置样式
currentStyle和getComputedStyle只能获取值而不能设置。

var dom = document.getElementById("Div");
console.log(dom.style);;  // 只能获取到style属性里面的,通过class或者id设置样式则获取不到
console.log(dom.currentStyle);  // 仅限ie使用,可以获取class或者id设置的样式
console.log(window.getComputedStyle(dom));  // ff,chrome使用,可以获取class或者id设置的样式

兼容性写法

    /**
     * 获得DOM的样式
     * @param obj   DOM对象
     * @param attr  具体的属性名
     * @return {*}
     */
    function getStyle(obj, attr) {
        // IE
        if (obj.currentStyle) {
            return obj.currentStyle[attr];
        }
        // FF Chrome
        else {
            return window.getComputedStyle(obj, null)[attr];
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容