如何使用jquery转换订单?
我尝试了这样的建议,但它不起作用!
$($(".block-item").get().reverse()).each(function() { /* ... */ });
看看here。
我希望盒装像这样重新排列,
18
17
16
etc
感谢。
答案 0 :(得分:22)
如果您在列表中有一个容器,那就更容易了:
$("#container").append($(".block-item").get().reverse());
答案 1 :(得分:9)
您可以使用:
$($(".block-item").get().reverse()).each(function (i) {
$(this).text(++i);
});
演示here。
第二个demo here(更改DOM元素定位)。
另一种方式,使用jQuery和reverse:
$.fn.reverse = [].reverse;
$(".block-item").reverse().each(function (i) {
$(this).text(++i);
});
此演示here。
第二个demo here(更改DOM元素定位)。
另一个替代方法是使用length
(与该选择器匹配的元素数)并使用每次迭代的index
从那里开始。然后你可以使用它:
var nr_of_divs = $(".block-item").length;
$(".block-item").each(function (i) {
$(this).text(nr_of_divs - i);
});
此演示here
第二个demo here(更改DOM元素定位)。
还有一个,与上面的相关:
var nr_of_divs = $(".block-item").length;
$(".block-item").text(function (i) {
return nr_of_divs - i;
});
演示 here
答案 2 :(得分:5)
您的代码正常运行。只需在左侧选择jQuery框架。
$($(".block-item").get().reverse()).each(function() {
$(this).appendTo($(this).parent());
});
答案 3 :(得分:2)
答案 4 :(得分:1)
试试这个:
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() );