我试图找到一种好的方法来收集给定文档中包含的样式表中定义的类名。我知道document.StyleSheetList
,但它似乎不容易解析。我正在寻找的东西是这样的,对于一个样式表文档,例如:
.my_class {
background: #fff000;
}
.second_class {
color: #000000;
}
我可以提取像["my_class", "second_class"]
这样的数组。这显然假定了一个完全加载的dom和样式表的有利场景。
我一直在到处寻找一个好方法来做这样的事情,到目前为止,几乎没有进展。有没有人知道怎么把这件事搞定?谢谢!
5条答案
按热度按时间kupeojn61#
这将显示样式表中定义的所有规则。
但是,它包含了所有的规则,不管是class、tag、id还是其他什么。
您需要更详细地解释您希望非类规则(* 或组合规则 *)发生什么
oxcyiej72#
您正在使用document.styleSheets(https://developer.mozilla.org/en/DOM/document.styleSheets)
https://developer.mozilla.org/en/DOM/stylesheet.cssRules
这里有一个快速和肮脏的方法来输出所有类selectorTexts到Firefox + Firebug中的控制台。
3vpjnl9f3#
这可能不是你真正想做的事情,除非是作为重构过程的一部分,但这里有一个函数应该做你想做的事情:
hof1towb4#
什么事
.something .other_something?
是否需要已存在的类名池?还是一个选择器池?
不管怎样,你有没有尝试过遍历document.styleSheets [i].cssRules?它提供选择器文本。用一些regexp kungfu解析应该更容易。。
你需要它是跨浏览器吗?
kuarbcqp5#
你可以用jQuery来实现这一点。例如
查看jQuery网站:http://api.jquery.com/all-selector/