【问题标题】:Can I access externally defined styles using the JS DOM?我可以使用 JS DOM 访问外部定义的样式吗?
【发布时间】:2010-11-18 12:15:18
【问题描述】:

如果我使用 jQuery,我可以使用外部定义的样式,例如:

$("#element").css("background-image")

如果我尝试在没有 jQuery 的情况下执行此操作,例如

document.getElementById("element").style.backgroundImage

我得到一个空字符串。有没有办法在没有 jQuery 的情况下获取这些信息?

【问题讨论】:

    标签: javascript css dom stylesheet


    【解决方案1】:

    是的。痛苦的方式。

    function getStyle(el,styleProp)
    {
        var x = document.getElementById(el);
        if (x.currentStyle)
            var y = x.currentStyle[styleProp];
        else if (window.getComputedStyle)
            var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
        return y;
    }
    

    从 quirksmode 偷来的。这可能是 jQuery 静态方法的更简洁版本。

    【讨论】:

    • 请注意,这将返回“计算”样式,其中可能包括用户代理默认值,而不一定是由外部源定义的样式。
    猜你喜欢
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-18
    相关资源
    最近更新 更多