什么是选择器引擎?
时间: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。