Два примера, как поменять два блока местами и переместить содержимое между ними с помощью 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>
Обработчик кнопки:
$('#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;
});
Результат:
Пример 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>
Обработчик кнопки:
$('#button').click(function(){
var left = $('#block-left > *');
var right = $('#block-right > *');
$('#block-left').append(right);
$('#block-right').append(left);
return false;
});