将CSS规则放入javascript变量中
Get CSS rules into javascript variable
我希望能够使用JavaScript或jQuery选择CSS规则块,并将它们放入变量中,基本上作为您在样式表中期望的预格式化文本。
理想情况下,我们会仔细注释我们的CSS样式,并将它们简单地放在html页面的<head> <style>
标签中。JavaScript将在页面上的<style>
标记中找到包装规则的特定注释,并将这些规则作为文本复制到一个变量中,以供以后使用。
/* CSS Rules */
.example{
font-size: 1em;
color:blue;
}
/* end */
在这种情况下,脚本将找到字符串/* CSS Rule */
,然后选择它下面的所有行,直到它遇到终止注释/* end */
任何想法?我已经在谷歌上搜索了相当多的解决方案,但我猜这是一件非常不寻常的事情,很难找到任何指针。
…你可以在你的样式标签上加上一个id,比如
<style id="css">div{ background-color:red; }</style>
然后用jquery抓取内容
var cssText = $('#css').html();
但这整件事会让Ada Lovelace哭泣,也许你能找到另一种方式来满足你的要求?
这有点俗气,但有一种方法可以做到这一点——
提取文本(使用regex或indexOf) -假设您有文本块,从中创建一个数据uri:
var cssURL = "data:text/css;charset=utf8," + encodeURIComponent(cssTxt);
创建一个链接元素,并设置rel为stylesheet(浏览器能够处理类型):
var link = document.createElement("link");
link.rel= "stylesheet";
link.href = cssURL;
添加到header中以加载和解析:
document.getElementsByTagName("head")[0].appendChild(link);
<标题> 例子只有绿色应该显示-
var css = ".s1 {border:1px solid red} " +
"/* start */ .s2 {border:1px solid green} /* end */ " +
".s3 {border:1px solid blue}";
// get css text and convert to data-uri
var start = css.indexOf("/* start */");
var end = css.indexOf("/* end */", start);
var cssTxt = css.substring(start, end);
var cssURL = "data:text/css;charset=utf8," + encodeURIComponent(cssTxt);
// create link element and add to header
var link = document.createElement("link");
link.rel= "stylesheet";
link.href = cssURL;
document.getElementsByTagName("head")[0].appendChild(link);
<div class="s1">Class s1 - ignored</div>
<div class="s2">Class s2 - should have green border</div>
<div class="s3">Class s3 - ignored</div>
标题>相关文章:
- 将函数的上下文应用于javascript变量
- 如何通过ajax刷新JSF填充的javascript变量
- Javascript变量赋值|
- 限制javascript变量的最小/最大整数
- 来自文本输入null的html javascript变量
- 访问jsrender模板中的全局javascript变量并更新它
- 从数据库中获取数据并插入JavaScript变量
- 如何将javascript变量传递到Meteor Spacebars模板中
- 将JavaScript变量保存到Rails模型
- 在if语句下的html中使用javascript变量
- Javascript变量分配-按类别
- 操作javascript变量[HTML]以只显示文本
- 无法比较javascript变量
- 如何将smarty变量与javascript变量进行比较
- 如何使用PHP将javascript变量添加到mysql数据库中
- Javascript 变量使用 jquery 查找变量
- 重新加载页面时Javascript变量发生变化
- 在asp classic中使用javascript变量
- 全局Javascript变量变为null
- 如何向服务器端提交javascript变量