我想知道是否可以访问放置在样式表中的自定义规则。例如,采取:
p {
line-height: 2em;
-js-min-line-height: 1.4em;
}
我已经尝试遍历样式表对象并抓取CSS文本,但浏览器可能不会返回它无法识别的属性文本:
for styleSheet in document.styleSheets
for rule in styleSheet.cssRules
console.log rule.cssText
简单地返回:
p { line-height: 1.4; }
答案 0 :(得分:1)
这取决于CSS的派生方式。它取决于它是否是链接,组合或硬编码。如果它是硬编码的,那么只需在样式元素上放置一个id,然后使用document.getElementById("styleId").innerHTML
获取文本,然后通过将字符串拆分为半冒号来解析它。如果它是由javascript组成的,那么在那里添加一些额外的内容以保留样式应该很容易。如果它是链接的,我认为这是最有可能和最难处理的情况,那么我建议使用$.AJAX()
将css加载到javascript中,读取文本并解析它以获得所需内容,然后使用{ {1}}将样式添加到您的页面。