计算所有div并按降序在span中添加每个数字

Jim*_*Jim 3 javascript jquery

我有早期问题的代码

$("div").each(function(i) {
    $(this).find("span").text(++i);
}); 
Run Code Online (Sandbox Code Playgroud)

- 完整的代码在行动= http://jsfiddle.net/pm3YL/

这个JQuery代码计算页面中的每个div并在span中添加订单号

但我需要做同样的降序

所以输出就像这样

http://jsfiddle.net/pm3YL/1/

代替

http://jsfiddle.net/pm3YL/

Ser*_*gio 6

你可以用这个:

$($("div").get().reverse()).each(function (i) {
    $(this).find("span").text(++i);
});
Run Code Online (Sandbox Code Playgroud)

在这里演示

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

$.fn.reverse = [].reverse;
$("div").reverse().each(function (i) {
    $(this).find("span").text(++i);
});
Run Code Online (Sandbox Code Playgroud)

这个演示在这里.(谢谢Ian的建议.)

一种选择是使用length(匹配该选择器的元素的数量)并使用index每次迭代从那里向下移动.然后你可以使用这个:

var nr_of_divs = $("div").length;
$("div").each(function (i) {
    $(this).find("span").text(nr_of_divs - i);
});
Run Code Online (Sandbox Code Playgroud)

这个演示在这里

还有一个,就是那种与上面的一个灵感Adeneo答案:

var nr_of_divs = $("div").length;
$("div span").text(function (i) {
    return nr_of_divs - i;
});
Run Code Online (Sandbox Code Playgroud)

在这里演示