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

时间:2011-08-28 14:46:28

标签: javascript css

我已经尝试了 element.style.getPropertyValue ,但只获取了元素的style属性中的文本。我如何从样式元素中获取属性和值?

2 个答案:

答案 0 :(得分:2)

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


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

答案 1 :(得分:0)

您可以尝试:

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;
}