获得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];
        }
    }

你可能感兴趣的:(获得DOM的样式)