Селекторы jQuery используются для выбора необходимого элемента на странице.
ТвитнутьКод jQuery как и код JavaScript состоит из последовательно идущих команд. Команды являются основной структурной единицей jQuery.
Стандартный синтаксис jQuery команд:
$(селектор).метод();
jQuery можно комбинировать с обычным JavaScript.
Если строка начинается с $ - это jQuery, если $ вначале строки отсутствует - это строка JavaScript кода.
Пример
function start() { //Скроем абзац с id="hid" с помощью jQuery $("p#hid").hide(); //Изменим содержимое абзаца с id="change" document.getElementById("change").innerHTML="Данное содержимое было изменено с помощью JavaScript."; }
Некоторые JavaScript библиотеки тоже используют $ для обозначения своего кода. Для того, чтобы избежать конфликта имен между ними в jQuery предусмотрена команда noConflict(). С помощью команды noConflict() Вы можете заменить знак $ на любой другой.
Синтаксис:
var произвольное_имя=jQuery.noConflict();
Пример
//Изменим стандартный символ $ на nsign var nsign=jQuery.noConflict(); //Изменим цвет абзаца используя nsign вместо $ nsign(document).ready(function(){ nsign("p").css("color","green"); });
С помощью селекторов Вы можете выбирать элементы на странице для применения к ним определенных действий.
Ниже располагается таблица с различными примерами использования селекторов для выбора желаемых элементов:
Пример | Результат |
---|---|
$("p") | Будут выбраны все элементы p, которые находятся на странице. |
$(".par") | Будут выбраны все элементы на странице с class="par". |
$("#par") | Будет выбран первый элемент на странице с id="par". |
$(this) | Позволяет выбрать текущий HTML элемент. Щелкните на $(this) слева, чтобы посмотреть пример использования данного селектора в онлайн редакторе. |
$("p.par") | Будут выбраны все элементы p на странице с class="par". |
$("p#par") | Будут выбраны все элементы p на странице с id="par". |
$(".par,.header,#heat") | Будут выбраны все элементы на странице со значениями атрибутов class="par", class="header" и id='heat'. |
$("[src]") | Будут выбраны все элементы на странице, имеющие атрибут src. |
$("[src='значение']") | Будут выбраны все элементы со значениям атрибута src="значение". |
$("[src$='.gif']") | Будут выбраны все элементы со значениями атрибута src заканчивающимися на .gif. |
$("div#wrap .par1") | Будут выбраны все элементы с class=par1, которые находятся внутри элементов div с id=wrap. |
$(":input") | Будут выбраны все input элементы на странице. |
$(":тип") | Будут выбраны все input элементы с <input type='тип' />. Например :button выберет все <input type='button' /> элементы, :text выберет все <input type='text' /> элементы и т.д. |
Пример
$(document).ready(function(){ //Установим размер шрифта всех абзацев равным 20 пикселям $("p").css("fontSize","20px"); //Изменим на зеленый цвет шрифта элемента с id=el2 $("#el2").css("color","green"); //Изменим на красный цвет шрифта элемента с class=el3 $(".el3").css("color","red"); //Сделаем жирным шрифт элементов с id=el2 и class=el3 $("#el2,.el3").css("fontWeight","bold"); //Изменим на синий цвет текста кнопки $(":input").css("color","blue"); //Установим размер шрифта всех элементов имеющих атрибут href равным 20 пикселям $("[href]").css("fontSize","20px"); //Изменим на зеленый цвет ссылки на www.wisdomweb.ru $("[href='/']").css("color","green"); });
Полный список селекторов jQuery Вы можете найти в нашем jQuery справочнике.
Из учебника по JavaScript Вы наверно помните, что выполнение кода до полной загрузки документа часто приводит к ошибкам.
Дело в том, что скрипт может обратится к еще не загруженному содержимому, а это всегда приводит к ошибкам или неожиданным результатам.
Для того, чтобы избежать этого мы часто помещали код в функцию, которая начинала выполнение только после полной загрузки документа.
Предотвращение преждевременного выполнения кода в JavaScript:
<html> <head> <script type="text/javascript"> function start() { Код который будет выполнен после полной загрузки документа } </script> </head> <body onload="start()"> </body> </html>
В jQuery можно избавиться от преждевременного выполнения кода следующими способами:
Предотвращение преждевременного выполнения кода в jQuery:
<script type='text/javascript'> //Первый способ: $(document).ready(function(){ Код который будет выполнен после полной загрузки документа }); //Второй способ: $().ready(function(){ Код который будет выполнен после полной загрузки документа }); //Третий способ: $(function(){ Код который будет выполнен после полной загрузки документа }); </script>
Существует еще один альтернативный способ также помогающий избежать преждевременное выполнение JavaScript и jQuery кода и позволяющий также ускорить загрузку страниц (благодарим за напоминание о нем пользователя Ghringo Americano).
Необходимо помещать код в самый конец тела документа (т.е. перед </body>) в данном случае интерпретатор JavaScript встроенный в браузер начнет разбирать код только после загрузки документа. В предыдущем же способе загрузка скриптов происходит одновременно с загрузкой документа, а выполняется этот код после загрузки документа.
<body> <p>Содержимое тела документа</p> <div>Содержимое тела документа</div> <script type='text/javascript'> Код который будет выполнен после полной загрузки документа </script> </body>
Для того, чтобы сократить размер кода Вы можете соединять команды jQuery в цепочки.
Команды в цепочке будут выполняться поочередно слева направо.
<script type='text/javascript'> //Код без сокращения $("p").css("color","green"); $("p").css("font-size","30px"); //Сокращенный код $("p").css("color","green").css("font-size","30px"); </script>
Задание 1 измените цвет и размер шрифта, перечисленных ниже элементов, для того, чтобы выделить буквы кодового слова.
Измените цвет и размер шрифта:
Обратите внимание: для изменения цвета текста элемента используйте метод: css('color','новый_цвет_текста'), для изменения размера шрифта используйте метод: css('font-size','размер_шрифта_px').
Пример
$(document).ready(function(){ $("div div").css("color","red"); //Пишите код здесь });
Задание 2 измените оформление элементов согласно их содержимому (подробности в редакторе).