问题
How can I reverse an order with jquery?
I tried with the suggestion like this but it won't work!
$($(".block-item").get().reverse()).each(function() { /* ... */ });
Have a look here.
I want the boxed to be rearranged like this,
18
17
16
etc
Thanks.
回答1:
If you have a container around the list, it's a little easier:
$("#container").append($(".block-item").get().reverse());
http://jsfiddle.net/BhTEN/12/
回答2:
You can use this:
$($(".block-item").get().reverse()).each(function (i) {
$(this).text(++i);
});
Demo here.
Second demo here (changing the DOM elements positioning).
Another way, using also jQuery with reverse is:
$.fn.reverse = [].reverse;
$(".block-item").reverse().each(function (i) {
$(this).text(++i);
});
This demo here.
Second demo here (changing the DOM elements positioning).
One more alternative is to use the length (count of elements matching that selector) and go down from there using the index of each iteration. Then you can use this:
var nr_of_divs = $(".block-item").length;
$(".block-item").each(function (i) {
$(this).text(nr_of_divs - i);
});
This demo here
Second demo here (changing the DOM elements positioning).
One more, kind of related to the one above:
var nr_of_divs = $(".block-item").length;
$(".block-item").text(function (i) {
return nr_of_divs - i;
});
Demo here
回答3:
Your code is working. Just choose jQuery framework on the left hand.
$($(".block-item").get().reverse()).each(function() {
$(this).appendTo($(this).parent());
});
回答4:
Could this be what you are looking for?
http://plugins.jquery.com/project/reverseorder
回答5:
try this:
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() );
DEMO
来源:https://stackoverflow.com/questions/6219152/jquery-reverse-an-order