Jqueryで順序を逆にするにはどうすればよいですか?
私はこのような提案で試しましたが、うまくいきません!
$($(".block-item").get().reverse()).each(function() { /* ... */ });
見てください ここ 。
箱をこのように並べ替えてほしい、
18
17
16
etc
ありがとう。
リストの周りにコンテナがある場合は、少し簡単です。
$("#container").append($(".block-item").get().reverse());
あなたはこれを使うことができます:
$($(".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;
});
デモここ
コードは機能しています。左側でjQueryフレームワークを選択するだけです。
$($(".block-item").get().reverse()).each(function() {
$(this).appendTo($(this).parent());
});
これはあなたが探しているものでしょうか?
これを試して:
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() );