[英]How to parse and extract CSS selectors as strings?
将CSS选择器提取为字符串的最简单方法是什么?
鉴于此作为输入:
#article{width:690px;overflow:hidden}
#article h2:first-child a{text-decoration:none}
#works .project p:last-child{margin-top:20px;font-size:13px}
#works .project img, #works .info img{width:680px;min-height:400px;border:1px dotted #ccc;margin-bottom:40px}
我如何获得这样的选择器列表:
var selectors = ['#article','#article h2:first-child a','#works .project p:last-child','#works .project img']
定义“输入。如果是在浏览器已解析的样式表中,则可以使用DOM Level 2样式 API提取样式表中的CSS规则并查询选择器(尽管您可能需要用逗号分隔) 。
如果浏览器未解析它,但通过其他机制将其作为输入提供,则您可以使用JSCSSP (JavaScript中的CSS解析器)来解析输入。
这是我最终得到的解决方案:
只是想将其发布在此处进行记录:
var css = "#article[type=x]{width:690px;overflow:hidden}#article h2:first-child a{text-decoration:none}#works .project p:last-child{margin-top:20px;font-size:13px}#works .project img, #works .info img{width:680px;min-height:400px;border:1px dotted #ccc;margin-bottom:40px}"
var found = css.replace(/{([^}]*)}/gm,"~~~").split("~~~");
document.write(found);
警告:Waporcode,我没有测试过,但是我以前使用过类似的东西。
document.styleSheets[0].cssRules[0].selectorText
那是您要找的东西吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.