JQuery: отменить заказ - PullRequest
       28

JQuery: отменить заказ

12 голосов
/ 02 июня 2011

Как я могу отменить заказ с помощью jquery?

Я попробовал с таким предложением, но оно не сработает!

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

Взгляните здесь .

Я хочу, чтобы коробку переставили так,

18
17
16
etc

Спасибо.

Ответы [ 5 ]

22 голосов
/ 02 июня 2011

Если у вас есть контейнер вокруг списка, это немного проще:

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

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

9 голосов
/ 19 августа 2013

Вы можете использовать это:

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

Демо здесь .
Второе демо здесь (изменение расположения элементов DOM).

Другой способ , использующий также jQuery с reverse :

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

Это демо здесь .
Второе демо здесь (изменение расположения элементов DOM).

Еще одна альтернатива - использовать length (количество элементов, соответствующих этому селектору) и идти вниз оттуда, используя index каждой итерации. Тогда вы можете использовать это:

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

Это демо здесь
Второе демо здесь (изменение расположения элементов DOM).

Еще один , вид, связанный с приведенным выше:

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

Демо здесь

5 голосов
/ 02 июня 2011

Ваш код работает. Просто выберите фреймворк jQuery слева.

 $($(".block-item").get().reverse()).each(function() {
     $(this).appendTo($(this).parent());
 });
2 голосов
/ 02 июня 2011

Может ли это быть тем, что вы ищете?

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

1 голос
/ 02 июня 2011

попробуйте:

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

...