我有这个来自早期问题的代码
$("div").each(function(i) {
$(this).find("span").text(++i);
});
-- 完整代码 = http://jsfiddle.net/pm3YL/
此 JQuery 代码计算页面中的每个 div 并在 span 内添加订单号
但我需要做同样的降序
所以输出将是这样的
代替
我有这个来自早期问题的代码
$("div").each(function(i) {
$(this).find("span").text(++i);
});
-- 完整代码 = http://jsfiddle.net/pm3YL/
此 JQuery 代码计算页面中的每个 div 并在 span 内添加订单号
但我需要做同样的降序
所以输出将是这样的
代替
你可以使用这个:
$($("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
每次迭代的 the 向下移动。然后你可以使用这个:
var nr_of_divs = $("div").length;
$("div").each(function (i) {
$(this).find("span").text(nr_of_divs - i);
});
这个演示在这里
var nr_of_divs = $("div").length;
$("div span").text(function (i) {
return nr_of_divs - i;
});
演示在这里
你可以把这样的东西:
var length_div = $("div").length
$("div").each(function(i) {
var tmp = length_div-i;
$(this).find("span").text(tmp);
});
$("div span").text(function(i) {
return $("div span").length-i;
});
您可以编写一个在集合中反向运行的 for 循环,但我想从元素数量中减去计数器以获得反向编号会更简单:
var divs = $("div"),
l = divs.length;
divs.each(function(i) {
$(this).find("span").text(l - i);
});
(演示)