关于javascript获取内联样式与嵌入式样式

通过style属性设置背景图案


change color
/*css*/
#change {
            border: 1px solid black;
            width: 200px;
            height: 200px;
            text-align: center;
            line-height: 200px;
        }
//js
change.style.backgroundColor="purple";
关于javascript获取内联样式与嵌入式样式_第1张图片
图示

在侧边栏设置一个颜色选择器,将change的背景颜色设置为选择的颜色,此时颜色选择器的颜色是使用内联样式的方式添加的。

关于javascript获取内联样式与嵌入式样式_第2张图片
演示.gif



    
    css
    


颜色选择器
change color

问题:

当颜色选择器的颜色是使用嵌入式或者外部引入的方式添加时,javascriptstyle属性无效,获取不到颜色值。

解决方法:

javascriptstyle属性只能获取内联样式,对于外部引入样式和嵌入式样式需要用currentStyle属性。但是,currentStyleFirefoxChrome下不支持,需要使用如下兼容性代码:

HTMLElement.prototype.__defineGetter__("currentStyle", function () {
            return this.ownerDocument.defaultView.getComputedStyle(this, null);
        });



    
    Title
    


颜色的选择
change color
关于javascript获取内联样式与嵌入式样式_第3张图片
演示.gif

你可能感兴趣的:(关于javascript获取内联样式与嵌入式样式)