如何使用JavaScript从CSS样式表中获取特定样式?

如何使用JavaScript从CSS样式表中获取特定样式?

问题描述:

我试过element.style.getPropertyValue但只获得元素的style属性中的文本。我将如何从样式元素获取属性和值?如何使用JavaScript从CSS样式表中获取特定样式?

您可以通过大多数浏览器上的getComputedStyle功能或通过IE上的currentStyle property获取元素的完整样式,包括样式表分配的样式。 (请注意,其中之一是一个函数,另一种是属性。)


有许多围绕计算样式浏览器的特质的。这是我使用一个好库的东西之一,例如jQuery,Prototype,YUI,Closureany of several others。这样你就可以利用其他人已经完成的工作(最重要的是,解决方法)。举个例子:某些版本的WebKit(Chrome和Safari使用的渲染器)在某些情况下错误地报告了margin-right属性。 jQuery测试看看是否是这种情况,如果是这样的话,可以为你解决它。我不知道有多少其他人在特定问题上工作,但你明白了。

+0

的getComputedStyle为我工作。谢谢。 +1 – 0x499602D2

你可以尝试:

function getStyle(element, styleProperty) { 
    if (element.currentStyle) 
     return element.currentStyle[styleProperty]; 
    else if (window.getComputedStyle) 
     return document.defaultView.getComputedStyle(element, null).getPropertyValue(styleProperty); 
    return value; 
}