CSS的语法有点类似于JSON,让我想知道我是否可以使用AJAX从CouchDB动态加载和应用CSS“主题”。我知道我已经可以将CSS文件作为附件提供,但如果CSS是实际文档,则可以由用户更新。也可能有几个这样的文件,如CSS“主题”。那会怎么样?我看到了两个问题:
1)如何将CSS存储为JSON(在一个大字符串字段中,或作为结构化文档?)
2)如何动态应用CSS。
我发现使用jQuery,我可以将CSS应用于所选元素,但它与“普通”CSS的工作方式不同,因为优先规则不适用 - 每次只影响所有选定的元素你调用.css()
函数。我真正需要的是一种加载整个“css文件”(作为文档)的方法,并将整个事物应用为普通的css文件。
也许一个"_show"
函数可以将结构化的JSON / CSS文档转换为具有标准CSS语法的“普通”CSS字符串?然后我只需要弄清楚如何在运行时“应用”它。
欣赏任何想法,想法和相关链接 - 谢谢。
答案 0 :(得分:1)
关于_show
函数是从CouchDB文档动态生成非json响应的好方法,你是对的。至于加载那个css,代码应如下所示:
var cssTag = $("head").add("link");
cssTag.attr("rel", "stylesheet");
cssTag.attr("type", "text/css");
cssTag.attr("href", filename);
简而言之,您要在link
中添加head
标记。
答案 1 :(得分:1)
你可以:
$('head').append('<link rel="stylesheet" type="text/css" href="http://example.com/change_css?file=new_style2.css">')
不确定在CouchDB中动态存储它是最好的方法:您可以随时保留静态文件并动态更改它们。另一方面,将CSS存储为Json将需要解析并且可能是时间耗尽。