什么是选择器引擎?

时间:2020-03-05 18:42:54  来源:igfitidea点击:

我已经在很多地方看到了John Resig快速的新选择器引擎Sizzle的消息,但是我不知道选择器引擎是什么,也没有任何文章对其含义进行解释。我知道Resig是jQuery的创建者,而Sizzle是Javascript中的东西,但除此之外,我不知道它是什么。那么,什么是选择器引擎?

谢谢!

解决方案

回答

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

例如,下面的jQuery:

$('div')

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

优化选择器引擎很重要,因为使用这些框架执行的几乎每个操作都基于某种DOM查询。

回答

同样,Sizzle是John Resig目前正在研究的引擎,用于替代jQuery已经非常出色的选择器引擎。

回答

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

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

选择带有firstParagraph类的文档中的所有P元素。

一些选择器引擎还支持XPath的部分实现,甚至还支持某些自定义语法。例如,jQuery使我们可以编写:

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

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

回答

选择器引擎是遍历DOM寻找特定元素的一种方式。

内置选择器引擎的示例:

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

回答

选择器引擎用于查找文档中的元素,方式与CSS样式表相同。当前,只有Safari才具有内置的querySelectorAll函数。在其他浏览器上,我们必须使用外部JavaScript实现作为LlamaLab Selector或者Sizzle。