是否有适用于JavaScript的CSS3选择器解析器?

Coo*_*J86 0 javascript css-selectors

任何人都知道将解析CSS3选择器的片段如下:

"form#network_template[method='put'][action='#form_{keyname}']"
Run Code Online (Sandbox Code Playgroud)

对此:

{
  tag: "form",
  id: "network_template",
  method: "put",
  action: "#form_{keyname}"
}
Run Code Online (Sandbox Code Playgroud)

或这个:

<form id="network_template" method="put" action="#form_{keyname}">
Run Code Online (Sandbox Code Playgroud)

Ang*_*erm 5

假设你打算在标题中要求一个CSS3选择器解析器,在Mootools中使用的Slick可以完成这项工作; 来自github页面:

Slick.parse("h1, h2, ul > li, .things")

{
"raw": "h1, h2, ul > li, .things",
"expressions": [
    [{ "combinator":" ", "tag": "h1" }],
    [{ "combinator":" ", "tag": "h2" }],
    [{ "combinator":" ", "tag": "ul" }, { "combinator": ">", "tag": "li" }],
    [{ "combinator":" ", "tag": "*", "classList": ["things"], "classes": [{"value": "things", "regexp":RegExp }] }]
]
}
Run Code Online (Sandbox Code Playgroud)

Mootools还可以直接从选择器创建具有适当属性的元素.