如何解析和提取CSS选择器作为字符串
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 Style api提取样式表中的CSS规则,并查询选择器(尽管您可能必须自己执行逗号分割)。
如果它没有被浏览器解析,而是通过其他机制作为输入提供,那么您可能可以使用JSCSSP (JavaScript中的CSS解析器)来解析输入。
这是我最终的解决方案:
- 用一些唯一的字符替换包含其内容的花括号。用Javascript RegExp 匹配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
这是你想要的吗?
相关文章:
- 日期选择器更改事件抛出”;TypeError:字符串不是函数;
- 使用本机 Javascript 从 DOM 元素获取选择器字符串
- 如何用字符串日期填充日期选择器表单
- 从任何jquery选择器字符串创建元素的最有效方法
- 将选择器检索为插件中的字符串
- jQuery:在没有字符串选择器的情况下分离
- 使用字符串选择器设置javascript属性
- 带有jquery的子字符串选择器
- 正确的选择器字符串是什么,可以在像这样结构的 HTML 中获取我想要的特定元素
- JQuery attr 选择器到字符串,存储为变量,然后传递到另一个 JQuery 选择器
- JQuery 选择器:以字符串形式获取多个类名之一
- 使用字符串查询此选择器
- 字符串和变量连接作为jQuery选择器不起作用.可能的原因是关闭
- 未定义的 ajax post with for 循环和字符串选择器
- 实时颜色选择器 HSV 到十六进制字符串
- 是否有一个 jQuery 选择器查找不存在的子字符串
- 有没有办法在jQuery :contains()选择器中使用多个字符串
- 随机字符串选择器每次页面加载只执行一次
- ClientUtils#findAll(字符串选择器)示例代码没有'不起作用
- 为nextAll使用字符串选择器