首页 > 解决方案 > 如何从 JavaScript 在 CSS 规则中获取完整的原始样式声明

问题描述

我有一个 CSS 声明,其中包含一些非标准样式,“-my-css-style”,当我尝试使用 JavaScript 访问它时,它看起来已经被剥离了。

我还有一种情况,如果它是标准的 CSS 样式,“位置”但值不正确或拼写错误,“绝对”它会被删除。

有没有办法获得包含拼写错误的名称、值或非标准样式的原始样式声明?

例子:

.myClass {
   position: absoluute;
   width: 10px;
   height: 10px;
   -my-style: 100;
}


// JavaScript  
var rule = document.styleSheets[0].cssRules[0];
var keys = rule.cssText; 

// output - two styles missing
// {width:"10px", height:"10px"}

// second example: 
// outputs ".myRule {position:absolute}"
document.styleSheets[0].cssRules[document.styleSheets[0].insertRule(".MyRule {position:absolute;}")].cssText

// outputs ".myRule {}"
document.styleSheets[0].cssRules[document.styleSheets[0].insertRule(".MyRule {position:absoluute;}")].cssText

标签: javascripthtmlcss

解决方案


推荐阅读