Подтвердить что ты не робот

Что такое механизм выбора?

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

Спасибо!

4b9b3361

Ответ 1

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

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

$('div')

Будет искать и возвращать все <div> элементов на странице. Для этого используется механизм селектора jQuery.

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

Ответ 2

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

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

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

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

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

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

Ответ 3

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

Пример встроенного механизма выбора:

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

Ответ 4

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

Ответ 5

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