jQuery在父内部移动DOM元素

时间:2012-06-19 09:35:41

标签: jquery element

是否有一种简单的方法可以在自己的父元素中移动元素?

喜欢这个......

从:

<div class="test">hello 1</div>
<div class="test">hello 2</div>
<div class="test">hello 3</div>

为:

<div class="test">hello 1</div>
<div class="test">hello 3</div>
<div class="test">hello 2</div>

将div向上或向下移动一步,或使用索引将appendTo移动到特定位置。

3 个答案:

答案 0 :(得分:12)

您应该可以像这样使用.prev().next()(此处为jQuery函数):

$.fn.moveUp = function() {
    $.each(this, function() {
         $(this).after($(this).prev());   
    });
};
$.fn.moveDown = function() {
    $.each(this, function() {
         $(this).before($(this).next());   
    });
};
$("div:eq(2)").moveUp(); //Would move hello 3 up
$("div:eq(0)").moveDown(); //Would move hello 1 down

JSFiddle Demo

答案 1 :(得分:3)

尝试

$("div:eq(2)").after($("div:eq(0)"));

$("div:eq(2)").before($("div:eq(1)"))

记住:eq()基于零。

答案 2 :(得分:3)

var child = $('#parent div'); // keep reference for further use
child.eq(2).insertBefore(child.eq(1));

<强> DEMO