jQuery - Селекторы
Библиотека jQuery использует возможности селекторов каскадных таблиц стилей (CSS), позволяя нам быстро и легко получать доступ к элементам или группам элементов в объектной модели документа (DOM).
Селектор jQuery - это функция, которая использует выражения для поиска совпадающих элементов из модели DOM на основе заданных критериев. Вы можете просто сказать, что селекторы используются для выбора одного или нескольких элементов HTML с помощью jQuery. Как только элемент выбран, мы можем выполнять различные операции с этим выбранным элементом.
Заводская функция $ ()
Селекторы jQuery начинаются со знака доллара и скобок - $(). Заводская функция$() использует следующие три строительных блока при выборе элементов в данном документе -
| Sr. No. | Селектор и описание |
|---|---|
| 1 | Tag Name Представляет имя тега, доступное в DOM. Например$('p') выделяет все абзацы <p> в документе. |
| 2 | Tag ID Представляет тег, доступный с данным идентификатором в DOM. Например$('#some-id') выбирает единственный элемент в документе с идентификатором some-id. |
| 3 | Tag Class Представляет тег, доступный для данного класса в DOM. Например$('.some-class') выбирает все элементы в документе, которые имеют класс некоторого класса. |
Все перечисленные выше элементы можно использовать отдельно или в сочетании с другими селекторами. Все селекторы jQuery основаны на том же принципе, за исключением некоторых настроек.
NOTE - Заводская функция $() является синонимом jQuery()функция. Итак, если вы используете любую другую библиотеку JavaScript, где$ знак конфликтует с чем-то еще, тогда вы можете заменить $ подписать jQuery имя, и вы можете использовать функцию jQuery() вместо $().
пример
Ниже приведен простой пример использования селектора тегов. Это выберет все элементы с именем тегаp.
<html>
<head>
<title>The jQuery Example</title>
<script type = "text/javascript"
src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script type = "text/javascript" language = "javascript">
$(document).ready(function() {
$("p").css("background-color", "yellow");
});
</script>
</head>
<body>
<div>
<p class = "myclass">This is a paragraph.</p>
<p id = "myid">This is second paragraph.</p>
<p>This is third paragraph.</p>
</div>
</body>
</html>
Это даст следующий результат -
Как использовать селекторы?
Селекторы очень полезны и потребуются на каждом этапе использования jQuery. Они получают именно тот элемент, который вы хотите, из вашего HTML-документа.
В следующей таблице перечислены несколько основных селекторов и приведены их примеры.
| Sr. No. | Селектор и описание |
|---|---|
| 1 | имя Выбирает все элементы, которые соответствуют заданному элементу Name. |
| 2 | #Я БЫ Выбирает один элемент, соответствующий заданному ID. |
| 3 | .Класс Выбирает все элементы, которые соответствуют заданному Class. |
| 4 | Универсальный (*) Выбирает все элементы, доступные в DOM. |
| 5 | Несколько элементов E, F, G Выбирает объединенные результаты всех указанных селекторов E, F или же G. |
Примеры селекторов
Подобно приведенному выше синтаксису и примерам, следующие примеры дадут вам представление об использовании другого типа других полезных селекторов:
| Sr. No. | Селектор и описание |
|---|---|
| 1 | $('*') Этот селектор выбирает все элементы в документе. |
| 2 | $("p > *") Этот селектор выбирает все элементы, которые являются дочерними элементами элемента абзаца. |
| 3 | $("#specialID") Эта функция-селектор получает элемент с id = "specialID". |
| 4 | $(".specialClass") Этот селектор получает все элементы, имеющие класс specialClass . |
| 5 | $("li:not(.myclass)") Выбирает все элементы, соответствующие <li>, у которых нет class = "myclass". |
| 6 | $("a#specialID.specialClass") Этот селектор сопоставляет ссылки с идентификатором specialID и классом specialClass . |
| 7 | $("p a.specialClass") Этот селектор сопоставляет ссылки с классом specialClass, объявленным в элементах <p>. |
| 8 | $("ul li:first") Этот селектор получает только первый элемент <li> из <ul>. |
| 9 | $("#container p") Выбирает все элементы, соответствующие тегу <p>, которые являются потомками элемента, имеющего идентификатор контейнера . |
| 10 | $("li > ul") Выбирает все элементы, соответствующие <ul>, которые являются дочерними элементами элемента, соответствующего <li> |
| 11 | $("strong + em") Выбирает все элементы, соответствующие тегу <em>, которые сразу же следуют за одноуровневым элементом, соответствующим тегу <strong>. |
| 12 | $("p ~ ul") Выбирает все элементы, соответствующие <ul>, которые следуют за одноуровневым элементом, совпадающим с <p>. |
| 13 | $("code, em, strong") Выбирает все элементы, соответствующие <code>, <em> или <strong>. |
| 14 | $("p strong, .myclass") Выбирает все элементы, соответствующие <strong>, которые являются потомками элемента, соответствующего <p>, а также все элементы, которые имеют класс myclass . |
| 15 | $(":empty") Выбирает все элементы, у которых нет дочерних элементов. |
| 16 | $("p:empty") Выбирает все элементы, соответствующие <p>, у которых нет дочерних элементов. |
| 17 | $("div[p]") Выбирает все элементы, соответствующие <div>, которые содержат элемент, соответствующий <p>. |
| 18 | $("p[.myclass]") Выбирает все элементы, соответствующие <p>, которые содержат элемент с классом myclass . |
| 19 | $("a[@rel]") Выбирает все элементы, соответствующие <a>, которые имеют атрибут rel. |
| 20 | $("input[@name = myname]") Выбирает все элементы, соответствующие <input>, у которых значение имени точно равно myname. |
| 21 год | $("input[@name^=myname]") Выбирает все элементы, соответствующие <input>, у которых значение имени начинается с myname . |
| 22 | $("a[@rel$=self]") Выбирает все элементы, соответствующие <a>, у которых есть relзначение атрибута, оканчивающееся на self . |
| 23 | $("a[@href*=domain.com]") Выбирает все элементы, соответствующие <a>, которые имеют значение href, содержащее domain.com. |
| 24 | $("li:even") Выбирает все элементы, соответствующие <li>, которые имеют четное значение индекса. |
| 25 | $("tr:odd") Выбирает все элементы, соответствующие <tr>, которые имеют нечетное значение индекса. |
| 26 | $("li:first") Выбирает первый элемент <li>. |
| 27 | $("li:last") Выбирает последний элемент <li>. |
| 28 | $("li:visible") Выбирает все видимые элементы, соответствующие <li>. |
| 29 | $("li:hidden") Выбирает все скрытые элементы, соответствующие <li>. |
| 30 | $(":radio") Выбирает все переключатели в форме. |
| 31 год | $(":checked") Выбирает все флажки в форме. |
| 32 | $(":input") Выбирает только элементы формы (ввод, выбор, текстовое поле, кнопка). |
| 33 | $(":text") Выбирает только текстовые элементы (input [type = text]). |
| 34 | $("li:eq(2)") Выбирает третий элемент <li>. |
| 35 год | $("li:eq(4)") Выбирает пятый элемент <li>. |
| 36 | $("li:lt(2)") Выбирает все элементы, совпадающие с элементом <li> перед третьим; другими словами, первые два элемента <li>. |
| 37 | $("p:lt(3)") выбирает все элементы, которым соответствуют элементы <p> перед четвертым; другими словами, первые три элемента <p>. |
| 38 | $("li:gt(1)") Выбирает все элементы, соответствующие <li> после второго. |
| 39 | $("p:gt(2)") Выбирает все элементы, соответствующие <p> после третьего. |
| 40 | $("div/p") Выбирает все элементы, соответствующие <p>, которые являются дочерними элементами элемента, соответствующего <div>. |
| 41 год | $("div//code") Выбирает все элементы, соответствующие <code>, которые являются потомками элемента, соответствующего <div>. |
| 42 | $("//p//a") Выбирает все элементы, соответствующие <a>, которые являются потомками элемента, соответствующего <p> |
| 43 | $("li:first-child") Выбирает все элементы, соответствующие <li>, которые являются первым дочерним элементом своего родителя. |
| 44 | $("li:last-child") Выбирает все элементы, соответствующие <li>, которые являются последними дочерними элементами своего родителя. |
| 45 | $(":parent") Выбирает все элементы, которые являются родительскими для другого элемента, включая текст. |
| 46 | $("li:contains(second)") Выбирает все элементы, соответствующие <li>, которые содержат второй текст. |
Вы можете использовать все перечисленные выше селекторы с любым элементом HTML / XML обычным образом. Например, если селектор$("li:first") работает для элемента <li>, тогда $("p:first") также будет работать для элемента <p>.