是否有一种简单的方法可以在自己的父元素中移动元素?
喜欢这个......
从:
<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移动到特定位置。
答案 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
答案 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 强>