use*_*568 8 javascript css prototypejs
是否可以通过CSS文件中定义的类名(例如类的宽度)检索样式属性,而无需从DOM中的实际元素中获取它?
确实有可能,但是比较复杂。
您可以使用该属性访问样式表document.styleSheets。
在每个样式表中,您必须访问包含该样式表中所有 CSS 规则的cssRules属性,因此要获取 DOM 中第一个样式表中的第一个规则,您可以执行以下操作
document.styleSheets[0].cssRules[0];
Run Code Online (Sandbox Code Playgroud)
要找到某个元素,您必须解析样式表,这在某些情况下会变得复杂,因为样式是继承的等。但是如果寻找某个选择器和某个样式:
var rules = document.styleSheets[0].cssRules,
theRule = null;
for (var i=0; i<rules.length; i++) {
if (rules[i].selectorText.toLowerCase() == '#myelement') {
var width = rules[i].style.width;
break;
}
}
Run Code Online (Sandbox Code Playgroud)