CSS селекторы и HTML элементы в выборке jQuery

Раз вы интересуетесь работой с jQuery, значит у вас есть опыт и знания в работе с CSS и HTML. Хочу вас обрадовать, сегодня вам эти знания пригодятся, в этом посте мы рассмотрим основные jQuery селекторы.

Структура проекта

Давайте разберем структуру нашего демо проекта, чтобы все последующие примеры в этом посте были вам понятны.
Сделаем простую страничку с хеддером и главным меню, а основной контент будет представлен двумя галереями изображений.

project-structure

Вот непосредственно и сам html код:

<div id="wrapper">
	<div id="inner-wrapper">
		<div id="header">
			<h1 class="title">WebComplex</h1>
			<h3 class="sub-title">Основы jQuery</h3>
			<ul id="menu">
				<li><a href="#about">О нас</a></li>
				<li><a href="#services">Услуги</a></li>
				<li><a href="#news">Новости</a></li>
				<li><a href="#contacts">Контакты</a></li>
			</ul>
		</div>
		<div id="content">
			<div id="gal-1" class="gallery">
				<h3 class="block-title">Галерея #1</h3>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
			</div>
			<div id="gal-2" class="gallery">
				<h3 class="block-title">Галерея #2</h3>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
				<div class="picture"><img src="images/p200x200.png" alt=""></div>
			</div>
		</div>
	</div>
</div>

Также обратите ваше внимание, что в папке (js) со скриптами у нас находится файл script.js в нем мы будем писать наш jQuery код.

 

Функция $() библиотеки jQuery

Для использование всех возможностей jQuery необходимо использовать функцию $() - это некая точка входа в саму библиотеку. Но можно написать ее и по-другому, например так: jQuery().

Кстати подключив библиотеку jQuery к вашему проекту вы можете проверить какая запись функции у вас работает. Сделать это можно через консоль вашего браузер, для Chrome включить консоль можно нажав F12 или комбинацию клавиш Ctrl+Shift+I, после чего нажмите Esc.

В открытой консоли введите короткую запись пустой функции $(), она должна вернуть вам пустой массив выборки, как это показано на картинке ниже:
jQuery-func
Картинка - кликабельна

Если у вас не возвращает в обеих случаях пустой массив, значит вы не подключили библиотеку jQuery, либо у вас есть ошибка (конфликт) на странице.

Начинаем после готовности DOM-модели

Как мы с вами уже обозначили, в нашем проекте весь jQuery код будет помещен в файл script.js, который мы подключаем в самом начале.

Наш скрипт будет работать с DOM элементами страницы сайта,  стоит убиться, что эта страница была загружена полностью, а сделать это можно с помощью следующего метода:

$(document).ready(function(){
	//здесь наш код
});

В этом коде мы используем метод ready(), который проверяет готова ли DOM модель.

Весь остальной код мы будем писать внутри этого метода, чтобы быть уверенными в том, что нужные элементы страницы загрузились и наш код будет правильно работать.

CSS селекторы и HTML элементы в выборке jQuery

Как и обещал, ваши знания в области CSS и HTML будут вам полезны сегодня 🙂
Все CSS селекторы по классу, идентификатору, псевдо-селекторы и просто html теги - применимы для jQuery выборки. Делается это следующим образом:
$('CSS селектор') - Осуществляет выбор группы элементов в документе с помощью CSS селектора
$('HTML тег') - Осуществляет выбор группы элементов в документе с помощью HTML тега

В нашем случае давайте попробуем выбрать все картинки на странице:

$(document).ready(function(){
	$('img');
});

Вот результат работы нашей выборки:
jQuery-html-selector
Картинка - кликабельна

Давайте выберем блоки с классом gallery используя CSS селектор:

$(document).ready(function(){
	$('.gallery');
});

Вот результат работы нашей выборки:
jQuery-css-selector
Картинка - кликабельна

А если скомбинировать CSS и HTML селекторы, то мы можем выбрать все изображении первой или второй галереи:

$(document).ready(function(){
	$('#gal-1 img');
	$('#gal-2 img');
});

Вот результат работы нашей выборки:
jQuery-html-css-selectors

Попробуйте потренироваться в консоли используя остальные (не рассмотренные в статье) селекторы:

:animated Выбирает все анимируемые в данный момент элементы
:contains(текст) Выбирает все элементы, содержащие указанный текст
:eq(n) Выбирает элемент с индексом n (индексы отсчитываются от нуля)
:even Выбирает все четные элементы (индексы отсчитываются от единицы)
:first Выбирает первый из подходящих элементов
:gt(n) Выбирает все элементы, индекс которых превышает n (индексы отсчитываются от нуля)
:has(селектор) Выбирает элементы, которые содержат хотя бы один элемент, соответствующий указанному селектору
: last Выбирает последний из подходящих элементов
:lt(n) Выбирает все элементы, индекс которых меньше n (индексы отсчитываются от нуля)
:odd Выбирает все нечетные элементы (индексы отсчитываются от единицы)
: text Выбирает все текстовые элементы

Расширенные селекторы типов, определенные в jQuery

:button Выбирает все элементы типа button
:checkbox Выбирает все элементы типа checkbox
: file Выбирает все элементы типа file
:header Выбирает все элементы заголовков
:hidden Выбирает все скрытые элементы
:image Выбирает все элементы изображений
:input Выбирает все элементы input
:parent Выбирает все элементы, являющиеся родительскими по отношению к другим элементам
:password Выбирает все элементы, являющиеся паролями
:radio Выбирает все элементы типа radio
:reset Выбирает все элементы типа reset
:selected Соответствует всем выбранным элементам
:submit Выбирает все элементы типа submit
:visible Выбирает все видимые элементы

Вот таким образом, мы можем с помощью jQuery выбрать нужные нам элементы DOM модели, а как изменять им свойства и работать с результатами jQuery выборки мы рассмотрим в следующих постах 😉

 

 

Есть вопросы? - пишите их в комментариях!

(5 голосов. Рейтинг: 5,00 из 5)
Загрузка...

Рубрика: Основы jQuery

Оставьте свой комментарий