Как поменять элементы местами в JQuery

Как поменять элементы местами в JQuery

Два примера, как поменять два блока местами и переместить содержимое между ними с помощью jQuery.

Пример 1: перемещение элементов

<div class="row">
	<div id="block-left">
		<span>Блок №1</span>
	</div>
	<div id="block-right">
		<span>Блок №2</span>
	</div>
</div>

<div class="button">
	<a href="#" id="button">Поменять местами</a>
</div>
HTML

Обработчик кнопки:

$('#button').click(function(){
	$('.row > div').each(function() {
		if ($(this).next()) {
			el = $(this).next();
		} else {
			el = $(this).prev();
		}

	 	var copy_from = $(this).clone(true);   
		$(el).replaceWith(copy_from);
		
		var copy_to = $(el).clone(true);        
		$(this).replaceWith(copy_to);
	});

	return false;
});
JS

Результат:

Пример 2: как поменять содержимое блоков местами

Такой прием может понадобится, если в вёрстке используется сетка и при смене элементов нужно менять только содержимое.

<div class="row">
	<div id="block-left">
		<span>Блок №1</span>
	</div>
	<div id="block-right">
		<span>Блок №2</span>
	</div>
</div>

<div class="button">
	<a href="#" id="button">Поменять местами</a>
</div>
HTML

Обработчик кнопки:

$('#button').click(function(){
	var left = $('#block-left > *');
	var right = $('#block-right > *');
	$('#block-left').append(right);
	$('#block-right').append(left);

	return false;
});
JS

Результат:

22.10.2020
10498

Комментарии

, чтобы добавить комментарий.

Другие публикации

Как сделать блоки одной высоты
Самый простой способ сделать блоки с одинаковой высотой можно с помощью JQuery, к примеру возьмем следующую верстку блоков.
9606
+6
Contenteditable – текстовый редактор
Если добавить атрибут contenteditable к элементу, его содержимое становится доступно для редактирования пользователю, а...
48726
+36
Манипуляции с элементами jQuery
Сборник методов jQuery для управления элементами DOM.
25618
+5
Как изменить Favicon сайта из JavaScript
Для замены Favicon во вкладке браузера достаточно у элемента link rel="icon" в атрибуте href указать путь до нового...
13982
+1
Фиксированное горизонтальное меню с активными пунктами
Пример горизонтального меню для лэндингов, в котором реализовано...
13542
+3
Появление элемента в области просмотра браузера
Отследить появление блока при скроллинге можно с помощью события onscroll, вычисляя его положение методами jquery...
51765
+14