Что такое селекторный двигатель? - PullRequest
26 голосов
/ 25 августа 2008

Я видел новости о Быстрый новый движок селектора Джона Ресига по имени Sizzle появляется во многих местах, но я не знаю, что такое движок селектора, и ни одна из статей не приводится объяснение того, что это такое. Я знаю, что Resig является создателем jQuery, и что Sizzle - это что-то в Javascript, но кроме этого я не знаю, что это такое. Итак, что такое селекторный двигатель?

Спасибо!

Ответы [ 5 ]

49 голосов
/ 25 августа 2008

Селекторный механизм используется для запроса DOM страницы для определенных элементов, основываясь на каком-то запросе (обычно синтаксис CSS или аналогичный).

Например, это jQuery:

$('div')

Будет искать и возвращать все элементы

на странице. Для этого используется механизм выбора jQuery.

Оптимизация механизма выбора является большой проблемой, потому что почти каждая операция, которую вы выполняете с этими платформами, основана на каком-то запросе DOM.

18 голосов
/ 25 августа 2008

Механизм выбора - это библиотека JavaScript, которая позволяет выбирать элементы в дереве DOM, используя некоторую строку для их идентификации (например, регулярные выражения для элементов DOM). Большинство механизмов выбора используют некоторую вариацию синтаксиса селектора CSS3, поэтому, например, вы можете написать что-то вроде:

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

для выбора всех элементов P в документе с классом firstParagraph.

Некоторые механизмы выбора также поддерживают частичную реализацию XPath и даже некоторые пользовательские синтаксисы. Например, jQuery позволяет написать:

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

Чтобы установить все отмеченные флажки в форме входа в документ.

7 голосов
/ 25 августа 2008

Механизм выбора - это способ пройти DOM в поисках определенного элемента.

Пример встроенного селектора двигателя:

var foo = document.getElementById('foo');
4 голосов
/ 25 августа 2008

Кроме того, Sizzle - это движок, над которым сейчас работает Джон Резиг, чтобы заменить и без того фантастический движок селектора jQuery.

1 голос
/ 11 февраля 2009

Механизм выбора используется для поиска элементов в документе, так же, как это делает таблица стилей CSS. В настоящее время только Safari имеет встроенную функцию querySelectorAll, которая делает именно это. С другим браузером вы должны использовать внешние реализации JavaScript как LlamaLab Selector или Sizzle.

...