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