在使用jQuery更改后,是否可以通过jQuery读取原始的内部样式表规则?

时间:2017-10-21 18:59:20

标签: javascript jquery css

我甚至觉得有点荒谬,但我做过的一些研究让我觉得它可能会有可能吗?

假设我有一个像这样的内部CSS规则:

xs-app.json

然后我使用jQuery来改变div的宽度值,如下所示:

<style>div {width 50px;}</style>

是否可以使用JavaScript从原始CSS规则中检索原始宽度50px?

或者是首先在javascript变量中保存50px的原始宽度值并使用相同的变量稍后检索它的唯一方法?

理论上...原始值仍然包含在页面的源代码中并且可以访问...而且我并不是真的想去那么远(在javascript中编写CSS解析器)。

或者,当浏览器呈现DOM时,页面的来源基本上不存在了吗?

感谢阅读。

2 个答案:

答案 0 :(得分:0)

据我所知,不可能。正如Barmar所说,最简单的方法是删除样式,获取原始值,然后再添加样式。

这样的事情应该有效:

function getOriginalCSS(target,styles){
    var output = {}
    for(var i=0; i<styles.length; i++){
        var style = styles[i]
        var current = target.css(style)
        target.css(style,'')
        output[style] = target.css(style)
        target.css(style,current)
    }
    return output
}

致电getOriginalCSS($('div'),['width'])会给您{width:'50px'}

答案 1 :(得分:0)

最简单的方法是在更改CSS之前保存以前的值,然后在需要时重新应用旧值。

任何其他方式都是乏味的,坦率地说不值得解决这个问题。