如何将元素css转换为JSON?

时间:2014-05-21 10:58:20

标签: javascript jquery html css json

我允许用户在打印前更改页面中每个元素的任何属性(位置,颜色和...)。

我正在寻找一种方式,用户可以存储新样式表并在以后的任何时间恢复它?

我试图解析element.style,但它没有返回数组!  同样$(element).css()没有任何争论也行不通!

3 个答案:

答案 0 :(得分:1)

如果您可以使用插件完成任务,请尝试以下插件:https://github.com/reworkcss/css-parse

<强>演示http://bililite.com/blog/blogfiles/cssparser/cssparsertest.php

实施例: CSS:

body {background: #eee;color: #888;}

输出:

{
    "type": "stylesheet",
        "stylesheet": {
        "rules": [{
            "type": "rule",
                "selectors": [
                "body"],
                "declarations": [{
                "type": "declaration",
                    "property": "background",
                    "value": "#eee"
            }, {
                "type": "declaration",
                    "property": "color",
                    "value": "#888"
            }]
        }]
    }
}

答案 1 :(得分:1)

感谢Johan,我找到了正确的答案!我只需要解析

window.getComputedStyle(element);

tnx everyone:)

答案 2 :(得分:0)

不是为每个元素指定自定义样式,而是可以为整个页面使用独特的样式类和单个样式表(将其添加到头部,记住元素或赋予其唯一ID),其中包含自定义样式。

然后,您可以通过stylesheet.cssRules枚举样式表并构建自定义json