jQuery предоставляет несколько методов, таких как append(), prepend(), html(), text(), before(), after(), wrap() и т. д., которые позволяют нам вставлять новое содержимое в существующий элемент.
jQuery-методы html() и text() уже рассматривались в предыдущей главе, поэтому в этой главе мы поговорим об остальных из них.
jQuery-метод append()
jQuery-метод append() используется для вставки содержимого в конец выбранных элементов.
Следующий пример добавит некоторый HTML-код ко всем абзацам готового документа, а при клике на кнопку другой HTML-код.
<script>
$(document).ready(function(){
// Добавляем ко всем абзацам
$("p").append(' <a href="#">read more...</a>');
// Добавляем элемент к id контейнеру
$("button").click(function(){
$("#container").append("This is demo text.");
});
});
</script>
jQuery-метод prepend()
jQuery-метод prepend() используется для вставки содержимого в начало выбранных элементов.
В следующем примере будет добавлен некоторый HTML-код ко всем абзацам готового документа, а некоторый текст — к элементу контейнера при нажатии кнопки.
<script>
$(document).ready(function(){
// Добавляем ко всем абзацам
$("p").prepend("<strong>Note:</strong> ");
// Добавляем элемент к id контейнеру
$("button").click(function(){
$("#container").prepend("This is demo text.");
});
});
</script>
Вставляем несколько элементов с помощью методов append() и prepend()
JQuery-методы append() и prepend()также поддерживает передачу нескольких аргументов в качестве входных данных.
Код jQuery в следующем примере вставит элемент <h1>, <p> и <img> внутрь элемента <body>.
<script>
$(document).ready(function(){
var newHeading = "<h1>Important Note:</h1>";
var newParagraph = document.createElement("p");
newParagraph.innerHTML = "<em>Lorem Ipsum is dummy text...</em>";
var newImage = $('<img src="images/smiley.png" alt="Symbol">');
$("body").append(newHeading, newParagraph, newImage);
});
</script>
jQuery-метод before()
jQuery-метод before() используется для вставки содержимого перед выбранными элементами.
В следующем примере будет вставлен абзац перед элементом контейнера в готовом документе, тогда как при нажатии кнопки будет вставлено изображение перед элементом <h1>.
<script>
$(document).ready(function(){
// Добавляем содержимое перед элементом с id container
$("#container").before("<p>— The Beginning —</p>");
// Добавляем контент перед заголовком
$("button").click(function(){
$("h1").before('<img src="images/marker-left.gif" alt="Symbol">');
});
});
</script>
Содержимое или элементы, вставленные с использованием jQuery-методов before() и after(), добавляются за пределы выбранных элементов.
jQuery-метод after()
jQuery-метод after() используется для вставки содержимого после выбранных элементов.
В следующем примере будет вставлен абзац после элемента контейнера в готовом документе, а вставка изображения после элемента <h1> при нажатии кнопки.
<script>
$(document).ready(function(){
// Добавляем содержимое после элемента с id container
$("#container").after("<p>— The End —</p>");
// Добавляем контент после заголовка
$("button").click(function(){
$("h1").after('<img src="images/marker-right.gif" alt="Symbol">');
});
});
</script>
Вставляем несколько элементов с помощью методов before() и after()
JQuery-методы before() и after() также поддерживает передачу нескольких аргументов в качестве входных данных. В следующем примере будут вставлены элементы <h1>, <p> и <img> перед элементами <p>.
<script>
$(document).ready(function(){
var newHeading = "<h2>Important Note:</h2>";
var newParagraph = document.createElement("p");
newParagraph.innerHTML = "<em>Lorem Ipsum is dummy text...</em>";
var newImage = $('<img src="images/smiley.png" alt="Symbol">');
$("p").before(newHeading, newParagraph, newImage);
});
</script>
jQuery-метод wrap()
jQuery-метод wrap() используется для оборачивания HTML-тегов вокруг выбранных элементов.
Код jQuery в следующем примере обернет элементы контейнера <div> с классом .wrapper в готовом документе, тогда как весь внутренний контент элементов абзаца обернет сначала элементом <b>, а затем — элементом <em>.
<script>
$(document).ready(function(){
// Оборачиваем элементом div с классом wrapper элемент container
$(".container").wrap('<div class="wrapper"></div>');
// Оборачиваем содержимое абзаца тегами b и em
$("button").click(function(){
$("p").contents().wrap("<em><b></b></em>");
});
});
</script>















