jquery:反转顺序

发布于 2024-11-11 15:19:07 字数 271 浏览 3 评论 0原文

如何使用 jquery 反转订单?

我尝试了这样的建议,但行不通!

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

看看这里

我希望盒装能像这样重新排列,

18
17
16
etc

谢谢。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

荆棘i 2024-11-18 15:19:07

如果列表周围有一个容器,那就更容易了:

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

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

If you have a container around the list, it's a little easier:

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

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

您可以使用这个:

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

演示此处
第二个此处演示(更改 DOM 元素定位)。

另一种方式,也使用 jQuery 反向是:

$.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;
});

演示此处

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

猫瑾少女 2024-11-18 15:19:07

你的代码正在运行。只需选择左侧的 jQuery 框架即可。

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

Your code is working. Just choose jQuery framework on the left hand.

 $($(".block-item").get().reverse()).each(function() {
     $(this).appendTo($(this).parent());
 });
有深☉意 2024-11-18 15:19:07

这可能是您正在寻找的东西吗?

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

Could this be what you are looking for?

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

日久见人心 2024-11-18 15:19:07

试试这个:

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文