Сначала рассмотрим основные методы работы с html, а затем уже методы для манипуляции с этими элементами. Итак, основные методы:
html(val) — добавляет html-код в выбранные элементы. Пример:
| $(«div.sp»).html(«<span>Привет</span>»); |
Данная инструкция добавит во все div-ы с классом sp, span-ы с текстом «Привет».
text() / val() — возвращает текстовое содержимое элемента / значение элемента. Пример:
| $(«p»).text(); |
Данная инструкция вернет текст из параграфа.
text(val) / val(val) — установит текст для элемента / значение для элемента. Пример:
| $(«p»).text(«Привет!»); |
Данная инструкция в параграфе напишет слово «Привет!».
Теперь давайте рассмотрим методы, которые позволяют манипулировать вставляемыми элементами.
append(content) — добавляет content внутрь всех выбранных элементов ПОСЛЕ существующего контента. Пример:
| $(«p»).append(«<b>Привет</b>»); |
Данная инструкция добавит в конец параграфа текст «Привет» жирным шрифтом.
appendTo(content) — обратная операция, добавляет в content все выбранные элементы. Пример:
| $(«p»).appendTo(«#main»); |
Данная инструкция добавит параграф в конец элемента с идентификатором «main».
Иными словами:
$(A).append(B) — добавит В в конец А.
$(A).appendTo(B) — добавит А в конец В.
prepend(content) — добавляет content внутрь всех выбранных элементов до существующего контента. Пример:
| $(«p»).prepend(«<b>Привет</b>»); |
Данная инструкция вставит в начало параграфа текст «Привет» жирным шрифтом.
prependTo(content) — обратная операция, добавляет В content все выбранные элементы. Пример:
| $(«p»).prependTo(«#main»); |
Данная инструкция вставит параграф в начало элемента с идентификатором «main».
Иными словами:
$(A).prepend(B) — добавит В в начало А.
$(A).prependTo(B) — добавит А в начало В.
after(content) — добавляет content ПОСЛЕ всех выбранных элементов (заметьте ПОСЛЕ элемента, а не в конец элемента, как в случае с append. Пример:
| $(«p»).after(«<b>Привет</b>»); |
Данная инструкция вставит после параграфа текст «Привет» жирным шрифтом.
befor(content) — добавляет content ДО всех выбранных элементов (заметьте ДО элемента, а не в начало элемента, как в случае с prepend. Пример:
| $(«p»).befor(«<b>Привет</b>»); |
Данная инструкция вставит перед параграфом текст «Привет» жирным шрифтом.
insertAfter(content) — вставляет все выбранные элементы ПОСЛЕ content-а . Пример:
| $(«p»).insertAfter(«#main»); |
Данная инструкция вставит параграф после элемента с идентификатором «main».
Иными словами:
$(A).after(B) — вставит В после А.
$(A).insert A fter(B) — вставит А после В.
insertBefore(content) — вставляет все выбранные элементы ПЕРЕД content-ом . Пример:
| $(«p»).insertBefore(«#main»); |
Данная инструкция вставит параграф перед элементом с идентификатором «main».
Иными словами:
$(A).before(B) — вставит В перед А.
$(A).insertBefore(B) — вставит А перед В.
Рассмотрим пример. Давайте сделаем так, чтобы при нажатии на кнопку «Добавить» в красном прямоугольнике появлялись желтые квадратики (один клик — один квадратик).
Эффекты jQuery
Код html-страницы состоит из одного div-а и одной кнопки:
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="cascade.css">
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div id="blue_sk"></div>
<input type="button" value="Добавить!"
onclick="addYellowSquare();">
</body>
</html> |
На странице style.css как всегда определяем стили:
#blue_sk{
width="99%";
height:100px;
background:blue;
}
.yellow_square{
float:left;
width="99%";
height:80px;
background:yellow;
margin:5px;
} |
Ну а код самой функции совсем короткий:
function addYellowSquare(){
$("#blue_sk").prepend("<div class='yellow_square'></div>");
} |
Вот так все просто. Но продолжим рассматривать сами методы:
wrap(html) — оборачивает каждый элемент в элемент обертку. Пример:
| $(«p»).wrap(«<span></span>»); |
Данная инструкция обернет каждый параграф span-ом.
wrapAll(html) — оборачивает все элементы в ОДИН элемент обертку. Пример:
| $(«p»).wrapAll(«<span></span>»); |
Данная инструкция обернет все параграфы одним span-ом.
wrapInner(html) — оборачивает внутренне содержание каждого элемента. Пример:
| $(«p»).wrapInner(«<em></em>»); |
Данная инструкция выделит содержимое каждого параграфа курсивом.
replaceWith(content) — замещает одни элементы другими. Пример:
| $(«span»).replaceWith(«<div></div>»); |
Данная инструкция заменит все span-ы div-ами.
replaceAll(selector) — обратная операция, т.е. все selector-ы будут поменяны на элементы. Пример:
| $(«span»).replaceAll(«<div></div>»); |
Данная инструкция заменит все div-ы span-ами.
empty() — удаляет из элемента все узлы-потомки, включая текст. Пример:
| $(«span»).empty(); |
Данная инструкция удалит все содержимое span-ов.
remove() — удаляет сами элементы. Пример:
| $(«span»).remove(); |
Данная инструкция удалит все span-ы.
clone() — клонирует элементы. Пример:
| $(«b»).clone().append(«div»); |
Данная инструкция возьмет элементы, выделенные жирным и добавит их в div.
В последнем примере, мы коснулись еще одного аспекта jQuery, а именно поддержки этой библиотекой цепочки вызовов. Т.е. вы можете вызывать несколько методов в одной строке, отделяя их точкой. Насколько это удобно? Зависит от Вас. Если это Вас не путает, то используйте на здоровье. В дальнейшем мы часто будем использовать такой вид записи.
Напоследок, давайте сделаем еще один пример. Пусть у нас есть некоторый список, и мы хотим разрешить пользователям добавлять в него пункты:
Эффекты jQuery
Как Вас зовут?
Дополните список: |
Код html-страницы:
<html>
<head>
<title>jQuery</title>
<link rel="stylesheet" type="text/css" href="cascade.css">
<script type="text/javascript" src="jquery-1.7.1.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
Как Вас зовут?
<ul id="jq">
<li>Александр</li>
<li>Виктор</li>
<li>Евгений</li>
</ul>
Дополните список:
<input type="text" id="user_text" size="20" maxlength="50">
<input type="button" value="Добавить" onclick="addSpisok();">
</body>
</html> |
Код функции:
function addSpisok(){
var jq=$('#user_text').val();
$('#jq').append('<li>'+jq+'</li>');
} |
Вот так просто можно делать многие вещи с помощью jQuery. Вы уже достаточно знаете, попробуйте сделать что-нибудь самостоятельно, используя изученные методы.





