我试图创建一个函数,它打印类的CSS值:阅读和使用纯JavaScript
- 抓斗元素与特定的数据元素,即“数据findDeclaration =元素”
- 从这个元素,类被读取
- 它读出所有指定为这个类
- 另一个具体的数据元素(即数据writeDeclaration =“元件”)的所有类规则/数值内显示的CSS值。
这里就是我至今:
HTML:
<span class="slap0" data-finddeclaration="element">The great white fox</span>
<div class="description" data-writedeclaration="element">
</div>
<span class="slap1" data-finddeclaration="element">The great white fox</span>
<div class="description" data-writedeclaration="element">
</div>
<span class="slap2" data-finddeclaration="element">The great white fox</span>
<div class="description" data-writedeclaration="element">
</div>
<span class="slap3" data-finddeclaration="element">The great white fox</span>
<div class="description" data-writedeclaration="element">
</div>
JS:
function readOutCssRules() {
var dataElement = document.querySelectorAll('[data-finddeclaration="element"]');
var classRules = document.styleSheets[0].rules || document.styleSheets[0].cssRules;
var writeDataElement = document.querySelectorAll('[data-writedeclaration="element"]');
for (var i = 0; i < dataElement.length; i++) {
dataElement[i].className;
if (classRules[i].selectorText == "." + dataElement[i].className) {
console.log(classRules[i].cssText);
writeDataElement[i].innerHTML = classRules[i].cssText;
}
}
}
readOutCssRules();
但随着预期的功能无法正常工作。 任何想法? 在此先感谢。
你在你的浏览器控制台得到什么错误? –
我确实得到了类的内容,但是如果我在html结构中添加更多元素,它将不会显示它们。 另外,我需要看到规则,而不是类名,正确显示在相应的div内。 我不被允许使用jQuery,否则这不会有太大的问题:) – Sidius
为什么你要检查CSS == Class? – HudsonPH