2

次のような子 DIV を持つコンテナー DIV があります。

<div class="parent">
    <div id="one" class="child"></div>
    <div id="two" class="child"></div>
    <div id="three" class="child"></div>
    <div id="four" class="child active"></div>
    <div id="five" class="child"></div>
</div>

私が望むのは、子 DIV の前のすべての子 DIV.activeが削除され、下部に追加されることです。したがって、次のようになります。

<div class="parent">
    <div id="four" class="child active"></div>
    <div id="five" class="child"></div>
    <div id="one" class="child"></div>
    <div id="two" class="child"></div>
    <div id="three" class="child"></div>
</div>

どうすればjqueryでそれを行うことができますか?

ありがとう :)

4

5 に答える 5

4

このような :

$('div:lt('+$('.active').index()+')', '.parent').appendTo('.parent');

フィドル

于 2013-06-21T20:05:29.103 に答える
1

このようなもの -

var $cloned = $('.parent .active').prevAll().clone().end().remove();
$('.parent').append($cloned.get().reverse());

デモ----> http://jsfiddle.net/AqS4u/1/

于 2013-06-21T20:04:59.427 に答える
1

これらが複数ある場合divs

$('.parent').each(function() {
    $(this.firstChild).nextUntil('.active').appendTo(this);
});

デモ

于 2013-06-21T20:08:47.457 に答える
0

これはそれを行う必要があります:

$('.active').prevAll().appendTo('.parent');

実際には編集ではありませんが、後世のためにここに残します-.prevAll()コレクションは逆の順序で返されるため、追加は正しく機能しません。

于 2013-06-21T20:07:16.223 に答える