web-dev-qa-db-ja.com

jquery:順序を逆にする

Jqueryで順序を逆にするにはどうすればよいですか?

私はこのような提案で試しましたが、うまくいきません!

$($(".block-item").get().reverse()).each(function() { /* ... */ });

見てください ここ

箱をこのように並べ替えてほしい、

18
17
16
etc

ありがとう。

12
laukok

リストの周りにコンテナがある場合は、少し簡単です。

$("#container").append($(".block-item").get().reverse());

http://jsfiddle.net/BhTEN/12/

22
Jamie Treworgy

あなたはこれを使うことができます:

$($(".block-item").get().reverse()).each(function (i) {
    $(this).text(++i);
});

デモ ここ
2番目 デモはこちら (DOM要素の位置を変更)。

別の方法、 reverse でjQueryも使用=は:

$.fn.reverse = [].reverse;
$(".block-item").reverse().each(function (i) {
    $(this).text(++i);
});

このデモ here
2番目 デモはこちら (DOM要素の位置を変更)。

もう1つの代替手段は、length(そのセレクターに一致する要素の数)を使用し、そこからindex各反復の。次に、これを使用できます。

var nr_of_divs = $(".block-item").length;
$(".block-item").each(function (i) {
    $(this).text(nr_of_divs - i);
});

このデモ here
2番目 デモはこちら (DOM要素の位置を変更)。

もう1つ、上記のものに関連する種類:

var nr_of_divs = $(".block-item").length;
$(".block-item").text(function (i) {
    return nr_of_divs - i;
});

デモここ

9
Sergio

コードは機能しています。左側でjQueryフレームワークを選択するだけです。

 $($(".block-item").get().reverse()).each(function() {
     $(this).appendTo($(this).parent());
 });
5
Farshid Zaker

これはあなたが探しているものでしょうか?

http://plugins.jquery.com/project/reverseorder

2
Daniel A. White

これを試して:

function disp(divs) {
      var a = [];
      for (var i = 0; i < divs.length; i++) {
        a.Push(divs[i].innerHTML);
      }
    alert(a);
    }

    disp( $("div.block-item").get().reverse() );

[〜#〜]デモ[〜#〜]

1
diEcho