Селекторы используются для выбора элементов HTML. Всякий раз, когда вы хотите создавать интерактивные веб-страницы, вам нужно выбрать некоторые данные или действия на этой веб-странице. Селекторы помогают нам получать данные через HTML-запрос от элементов.
Основной селектор ($)
$ Является основным селектором в MooTools. Используя это, вы можете выбрать элемент DOM по его идентификатору. Например, предположим, что у вас есть элемент HTML (например, div) с именем body_id .
<div id = "body_id"> </div>
Если вы хотите выбрать этот div, используйте следующий синтаксис —
Синтаксис
//selects the element with the ID 'body_id' $('body_id');
getElement ()
getElement () — это метод, расширяющий базовый селектор ($). Это позволяет уточнить ваш выбор, используя идентификатор элемента. getElement () выбирает только один элемент и возвращает первый, если есть несколько опций. Вы также можете использовать имя класса, чтобы получить первое вхождение элемента. Но он не получит массив элементов.
Множественный селектор ($$)
$$ используется для выбора нескольких элементов и размещения этих нескольких элементов в массиве. Из этого массива мы можем манипулировать, извлекать и упорядочивать список различными способами. Посмотрите на следующий синтаксис. Он определяет, как выбрать все элементы div из коллекции элементов HTML на веб-странице.
Синтаксис
<div> <div>a div</div> <span id = "id_name">a span</span> </div>
Если вы хотите выбрать все div, используйте следующий синтаксис —
Синтаксис
//all divs in the page $$('div');
Если вы хотите выбрать несколько div с одним и тем же именем, используйте следующий синтаксис —
Синтаксис
//selects the element with the id 'id_name' and all divs $$('#id_name', 'div');
getElements ()
Метод getElements () аналогичен методу getElement (). Этот метод возвращает все элементы в соответствии с критериями. Вы можете использовать либо имя элемента (a, div, input) для выбора этих коллекций, либо имя конкретного класса элемента для выбора коллекции элементов того же класса.
Включить и исключить результаты с операторами
MooTools поддерживает различные операторы, используемые для уточнения вашего выбора. Вы можете использовать все эти операторы в методе getElements (). Каждый из этих операторов может использоваться для выбора элемента ввода по имени.
Посмотрите на следующую таблицу. Он определяет различные операторы, которые поддерживает MooTools.
оператор | Описание | пример |
---|---|---|
= (равно) | Выберите элемент ввода по его имени. | $ (‘body_wrap’). getElements (‘input [name = phone_number]’); |
^ = (начинается с) | Выберите элемент ввода, сравнивая его начальные буквы имени. | $ (‘body_wrap’). getElements (‘input [name ^ = phone]’); |
$ = (заканчивается на) | Выберите элемент ввода, сравнив его конечные буквы имени. | $ (‘body_wrap’). getElements (‘input [name $ = number]’); |
! = (не равно) | Отмените выбор элемента ввода по имени. | $ (‘body_wrap’). getElements (‘input [name! = address]’); |
* = (Содержит) | Выберите элемент ввода, который содержит определенный шаблон букв. | $ (‘body_wrap’). getElements (‘input [name * = phone]’); |
Селекторы на основе порядка элементов
Селекторы MooTools следуют определенному порядку в выборе элементов. Селекторы в основном следуют двум порядкам; один четный, а другой странный.
Примечание. Этот селектор начинается с 0, поэтому первый элемент является четным.
Четный заказ
В этом порядке селектор выбирает элементы, расположенные в четном порядке. Используйте следующий синтаксис, чтобы выбрать все четные элементы div на вашей HTML-странице.
Синтаксис
// selects all even divs $$('div:even');
Нечетный порядок
В этом порядке селектор выбирает элемент, размещенный в нечетном порядке. Используйте следующий синтаксис, чтобы выбрать все нечетные дивы на вашей HTML-странице.
Синтаксис
// selects all odd divs $$('div:odd');
пример
В следующем примере показано, как работает селектор. Предположим, на веб-странице есть текстовое поле и список технологий. Если вы выберете одну технологию из списка, введя это имя в текстовое поле, в списке отобразятся отфильтрованные результаты, основанные на ваших данных. Это возможно с помощью селектора MooTools. Используя селектор, мы можем добавить событие в текстовое поле. Слушатель событий выберет данные из текстового поля и проверит их из списка. Если он есть в списке, то в списке отображаются отфильтрованные результаты. Посмотрите на следующий код.
<html> <head> <script type = "text/javascript" src = "MooTools-Core-1.6.0.js"></script> <script type = "text/javascript" src = "MooTools-More-1.6.0.js"></script> <script type = "text/javascript"> window.addEvent('domready',function(){ var input = $('filter'); // set the title attribute of every element // to it's text in lowercase $$('ul > li').each(function(item){ item.set('title', item.get('text').toLowerCase()); }); // the function we'll call when the user types var filterList = function(){ var value = input.value.toLowerCase(); $$('li').setStyle('display','none'); // check the title attribute if it contains whatever the user is typing $$('ul > li[title*=' + value + ']').setStyle('display',''); }; // make it happen input.addEvent('keyup', filterList); }); </script> </head> <body> <p><input id = "filter" type = "text" /></p> <ul> <li>C</li> <li>Cpp</li> <li>Java</li> <li>JavaScript</li> <li>Hadoop</li> <li>Hive</li> <li>CouchDB</li> </ul> </body> </html>
Вы получите следующий вывод —
Выход