Как поменять элементы местами в 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
9961

Комментарии

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

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

Как сделать блоки одной высоты
Самый простой способ сделать блоки с одинаковой высотой можно с помощью JQuery, к примеру возьмем следующую верстку блоков.
9208
+5
Contenteditable – текстовый редактор
Если добавить атрибут contenteditable к элементу, его содержимое становится доступно для редактирования пользователю, а...
46531
+35
Манипуляции с элементами jQuery
Сборник методов jQuery для управления элементами DOM.
23867
+5
Как изменить Favicon сайта из JavaScript
Для замены Favicon во вкладке браузера достаточно у элемента link rel="icon" в атрибуте href указать путь до нового...
13333
+1
Фиксированное горизонтальное меню с активными пунктами
Пример горизонтального меню для лэндингов, в котором реализовано...
13110
+3
Появление элемента в области просмотра браузера
Отследить появление блока при скроллинге можно с помощью события onscroll, вычисляя его положение методами jquery...
50009
+13