CSS到JSON解析器或转换器

jon*_*ung 11 javascript css ajax parsing

我正在开发一个没有HTML或CSS层的非Web平台,只是一个纯JavaScript实现.

我想使用AJAX将CSS文件作为文本字符串加载,将CSS解析为JS对象或JSON,然后使用实用程序库来解释应该将哪些样式应用于DOM树中的元素.

我该怎么办?

lah*_*her 13

我想你正在寻找一个"JavaScript CSS解析器".

你看过其中任何一个吗?

http://www.glazman.org/JSCSSP/

要么

http://bililite.com/blog/2009/01/16/jquery-css-parser/

第一个看起来很合适,但如果你喜欢jQuery那么也许你更喜欢第二个.

HTH

  • @JONYC:`var parser = new CSSParser(); var sheet = parser.parse('body {color:black;}',false,true); sheet.cssRules [0] .declarations [0] .property; //语句返回'color'.参见[this JSFiddle](http://jsfiddle.net/ARxBX/2/). (3认同)

Ara*_*yan 10

我查看了@ amir75建议的两个链接.第一个看起来最好,但代码对于我正在做的事情来说太长了.我决定把一个轻量级的脚本放在一起.它不使用jQuery,但你可以使用.get()等等加载CSS文件.看一下example.html和js控制台输出来查看结构.如果您在CSS中使用注释,则可以选择保持元素的顺序,否则在使用更简单的JSON结构时,它仍将保持元素的顺序而不是注释的顺序.

https://github.com/aramkocharyan/CSSJSON

用法:

// To JSON, ignoring order of comments etc
var json = CSSJSON.toJSON(cssString);

// To JSON, keeping order of comments etc
var json = CSSJSON.toJSON(cssString, true);

// To CSS
var css = CSSJSON.toCSS(jsonObject);
Run Code Online (Sandbox Code Playgroud)