На разрабатываемой веб-странице подразумевается активная работа с классами элементов.

Опубликовал: Понедельник, Май 27, 2013 в категории jQuery, Подборка рецептов | Пока нет комментариев

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

Решение

Для решения этих задач используем имеющиеся в арсенале библиотеки jQuery методы: addClass(), removeClass(), toggleClass() и hasClass() (листинг 2.2.1).

Листинг 2.2.1. Использование методов addClass(), removeClass(), toggleClass() и hasClass()

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru">
<head>
<title>example-2-2-1</title>
<content>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="js/jquery-1.5.2.min.js" type="text/javascript"></script>
<style type="text/css">
p { border:1px dotted #ccc; }
.t           
est { background-color:#369; color:#fff; }
</style>
<script type="text/javascript">
$(function(){
$("#add").click(function(){
$("p").addClass("test");
});
$("#remove").click(function(){
$("p").removeClass("test");
});
$("#toggle").click(function(){
$("p").toggleClass("test");
});
$("#has").click(function(){ alert($("p:first").hasClass("test"));
});
});
</script>
</head>
<body>
<p>Параграф №1</p>
<p>Параграф №2</p>
<p>Параграф №3</p>
<button id="add">Добавить класс</button>
<button id="remove">Удалить класс</button>
<button id="toggle">Переключить класс</button>
<button id="has">Проверить класс</button>
</body>
</html>

Обсуждение

В листинге 2.2.1 есть три "подопытных" параграфа, оформление которых задано с помощью CSS-правила для элементов p, и четыре кнопки, с помощью которых мы сможем добавлять, удалять, переключать и проверять присутствие класса с именем test у элементов p.

Посмотрите JavaScript-код. Он очень простой — с каждой из кнопок связан обработчик события click, но callback-функции для каждой кнопки, конечно, вызываются разные. Так, щелчок по кнопке Добавить класс приведет к тому, что с помощью метода addClass() всем элементам p будет добавлен класс test, — изменится цвет фона и шрифта всех параграфов. Щелчок по кнопке Удалить класс — и элементы p возвращаются в свое первоначальное состояние. Щелкая по кнопке Переключить класс и вызывая таким образом метод toggleClass(), мы просто каждым следующим нажатием добавляем и удаляем класс test. При щелчке на кнопке Проверить класс вызываем метод hasClass(), который вернет true при наличии у выбранного элемента класса, с указанным именем, и false — в противном случае.

Источник: Самков Г. А. jQuery. Сборник рецептов. — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 416 с.: ил. + CD-ROM — (Профессиональное программирование)

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>