jQuery метод .replaceWith()
Определение и применение
jQuery метод .replaceWith() позволяет заменить выбранные элементы новым содержимым.
jQuery синтаксис:
Синтаксис 1.2
$( selector ).replaceWith( content )content - htmlString, или Element (DOM), или jQuery (объект), или Array
Синтаксис 1.4
$( selector ).replaceWith( function( index, oldHtml ) )function - Function
index - Integer
oldHtml - String
Добавлен в версии jQuery
1.2 (синтаксис обновлен в версии 1.4)Значения параметров
| Параметр | Описание |
|---|---|
| content | HTML строка, объект jQuery, DOM элемент, которые будут заменены взамен каждого элемента. |
| function |
Функция, возвращающая содержимое для замены набора соответствующих элементов. Функция принимает два аргумента:
|
Пример использования
Пример использования jQuery метода .replaceWith()
Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.
index.html
<button>Клик</button>
<p>Первый параграф</p>
<p>Второй параграф</p>
<p>Третий параграф</p>
<hr />
<div class="first">Первый блок</div>
<div class="second">Второй блок</div>
<div class="third">Третий блок</div>
main.js
$(document).ready(function () {
$('button').click(function () {
$('p').replaceWith('<h3>Replaced</h3>')
$('.first, .third').replaceWith('Im string')
})
})
Нажмите ▶, чтобы запустить пример.
В этом примере мы с использованием jQuery метода .replaceWith():
-
Заменяем каждый элемент
<p>новым содержимым (заголовок третьего уровня<h3>). -
Заменяем каждый элемент с классом first и third новом содержимым (вместо первого и
третьего элемента
<div>вставляется строка).
Рассмотрим пример в котором в качестве параметра метода .replaceWith() мы передадим функцию.
Пример использования jQuery метода .replaceWith() (функция в качестве параметра)
Нажмите ▶, затем выполните действие из пояснения. Измените JavaScript и запустите пример ещё раз. В редакторе используется jQuery 3.1.1.
index.html
<button>Клик</button>
<p>Первый параграф</p>
<p>Второй параграф</p>
<p>Третий параграф</p>
main.js
$(document).ready(function () {
$('button').click(function () {
$('p').replaceWith(function (i, el) {
return '<br>' + el + ' с индексом ' + i
})
})
})
Нажмите ▶, чтобы запустить пример.
В этом примере с использованием jQuery метода .replaceWith() и функции, переданной в качестве параметра метода,
мы при нажатии на кнопку (элемент
<button>) заменяем элементы
<p>
содержимым, которое возвращает функция (перенос строки, содержимое элемента и его индекс).