Суббота26 апреля
Интернет

Для чего необходим и как записывается JQuery-селектор?

21 февраля 2014

Современный веб-дизайнер должен не только владеть основами HTML, CSS и JavaScript, но и уметь работать в библиотеке JQuery, которая фокусируется на взаимодействии JavaScript с HTML-документами. Именно она позволяет быстро получить доступ к любым элементам DOM (программный интерфейс, открывающий доступ к содержимому html-файлов) и манипулировать ими. Основными структурными единицами этой библиотеки являются команды. Для того чтобы применить ту или иную команду, нужен JQuery-селектор.

jquery селектор

Формула селекторов в библиотеке JQuery

Селекторы в JQuery основаны на используемых в CSS. Они необходимы для выбора элементов HTML-файла, чтобы с их помощью вызвать те или иные методы манипуляции ими (команды). Поиск по селектору осуществляется посредством функции $(). Например, $('div').

Селекторы можно классифицировать в зависимости от способа выбора элементов:

  • основные;
  • по атрибуту;
  • по иерархии;
  • по содержанию;
  • по положению;
  • выбор полей формы;
  • другие.

Основные селекторы

В 90 % случаев при работе с данной библиотекой используется JQuery-селектор, относящийся к основной группе. Все они достаточно просты и понятны. Рассмотрим каждый из них:

  • * - выбирает все элементы страницы, включая head, body и др.;
  • p/div/sidebar/... - выбирает все элементы, относящиеся к заданному тегу (т. е. к p.div, sidebar и др.);
  • .myClass/ p.myClass - выбирает элементы с указанным именем класса;
  • #myID/ p.#myID - выбирает какой-то один элемент с заданным ID.

Приведем пример. Допустим, нам необходимо выбрать все элементы страницы с классом par, запись будет выглядеть следующим образом: $(.par). Если же нужны только элементы p этого класса, то пропишем: $(p.par).

jquery элементы

Селекторы атрибутов

Основной JQuery-селектор можно использовать, если нам необходимо выбрать элемент, относящийся к какому-то классу, имеющий ID или же выбрать все элементы страницы. Однако бывают случаи, когда нужный элемент не имеет класса или ID. Именно для этого и существуют селекторы по атрибуту. Они позволяют делать выборку по какому-то атрибуту HTML-элемента, например, по href или src. Записывается этот атрибут в квадратных скобках [].

Самый простой пример: $([src]) - выбор всех элементов, имеющих атрибут src. Можно сузить область выборки, задав атрибуту определенное значение: $([src='value']).

Вы можете использовать в JQuery несколько селекторов, если необходимо сузить область выбора. Например, $(p[color=blue][size=12]) - будут выбраны только те элементы p, которые имеют голубой цвет и размер 12.

Селекторы по содержанию

В том случае, если нет возможности выбрать элементы по атрибутам или по основным селекторам, то стоит обратиться к их содержанию. Всего имеется 4 селектора данного вида:

  • :contains - выбирает элементы, содержащие заданный текст;
  • :has - выбирает элементы, которые содержат другие элементы, характерные для данной строки;
  • :parent - выбирает элементы, которые содержат любые другие;
  • :empty - выбирает элементы, не содержащие никаких других.

Приведем пример. Для того, чтобы выбрать все элементы div, содержащие текст Hello, нужно записать $(div:contains('Hello')).

jquery несколько селекторов

Селекторы по иерархии

Есть и еще один способ выбора элементов в JQuery, а именно - согласно их иерархии (то есть соотношения друг к другу на HTML-странице). Их очень много, поэтому приведем два наиболее популярных: "ребенок" и "потомок".

В первом случае выбираются элементы, которые являются прямыми потомками (ребенок) заданного элемента (предок). Например, чтобы выбрать элементы списка в классе light, которые являются ребенком списка nav, то нужно записать: $(ul#nav > li.light).

Второй случай - более общий. Здесь могут быть выбраны и непрямые потомки какого-то элемента. Например, для выбора ссылок внутри списка nav пропишем: $(ul#nav a).

Таким образом, в JQuery элементы могут выбираться различными способами с использованием таких параметров, как класс, ID, атрибуты, содержание или иерархия элементов HTML-документа.

Источник: fb.ru
Актуально
Система комментирования SigComments