我有早期question
的代码$("div").each(function(i) {
$(this).find("span").text(++i);
});
- 操作中的完整代码= http://jsfiddle.net/pm3YL/
此JQuery代码计算页面中的每个div并在span
中添加订单号但我需要做同样的降序
所以输出就像这个
而不是
答案 0 :(得分:6)
您可以使用:
$($("div").get().reverse()).each(function (i) {
$(this).find("span").text(++i);
});
另一种方式,使用jQuery和reverse:
$.fn.reverse = [].reverse;
$("div").reverse().each(function (i) {
$(this).find("span").text(++i);
});
另一个替代方法是使用length
(与该选择器匹配的元素数)并使用每次迭代的index
从那里开始。然后你可以使用它:
var nr_of_divs = $("div").length;
$("div").each(function (i) {
$(this).find("span").text(nr_of_divs - i);
});
此演示here
还有一个,与上面的那个相关,受到Adeneo的answer的启发:
var nr_of_divs = $("div").length;
$("div span").text(function (i) {
return nr_of_divs - i;
});
演示 here
答案 1 :(得分:3)
您可以输入类似的内容:
var length_div = $("div").length
$("div").each(function(i) {
var tmp = length_div-i;
$(this).find("span").text(tmp);
});
答案 2 :(得分:3)
$("div span").text(function(i) {
return $("div span").length-i;
});
答案 3 :(得分:2)
你可以编写一个在循环中反向运行的for循环,但我想从单元数中减去计数器以获得反向编号更简单:
var divs = $("div"),
l = divs.length;
divs.each(function(i) {
$(this).find("span").text(l - i);
});
(Demo)