什么是选择器引擎?

时间:2008-08-25 16:59:10

标签: javascript jquery glossary resig

我已经看到很多地方出现了John Resig's fast new selector engine named Sizzle的消息,但我不知道选择器引擎是什么,也没有任何文章解释它是什么。我知道Resig是jQuery的创建者,Sizzle是Javascript中的东西,但除此之外我不知道它是什么。那么,什么是选择器引擎?

谢谢!

5 个答案:

答案 0 :(得分:49)

选择器引擎用于根据某种查询(通常是CSS语法或类似方法)查询页面的DOM以查找特定元素。

例如,这个jQuery:

$('div')

将搜索并返回所有< div>页面上的元素。它使用jQuery的选择器引擎来做到这一点。

优化选择器引擎是一个大问题,因为您使用这些框架执行的几乎所有操作都基于某种DOM查询。

答案 1 :(得分:18)

选择器引擎是一个JavaScript库,它允许您使用某种字符串选择DOM树中的元素来识别它们(想想DOM元素的正则表达式)。大多数选择器引擎使用CSS3选择器语法的一些变体,例如,您可以编写如下内容:

var paragraphs = selectorengine.select('p.firstParagraph')

使用class firstParagraph选择文档中的所有P元素。

某些选择器引擎也支持XPath的部分实现,甚至还支持一些自定义语法。例如,jQuery允许您编写:

var checkedBoxes = jQuery('form#login input:checked')

选择文档中登录表单中的所有选中复选框。

答案 2 :(得分:7)

选择器引擎是一种遍历DOM以查找特定元素的方法。

内置选择器引擎的一个示例:

var foo = document.getElementById('foo');

答案 3 :(得分:4)

此外,Sizzle是John Resig目前正致力于取代jQuery已经很棒的选择器引擎的引擎。

答案 4 :(得分:1)

选择器引擎用于查找文档中的元素,与CSS样式表的方式相同。目前只有Safari具有内置的querySelectorAll功能。使用其他浏览器,您必须使用外部JavaScript实现LlamaLab Selector或Sizzle。