这里有不同的选项:
首先:没有jQuery:
var lis = document.querySelectorAll('ul > li');
var contents = [].map.call(lis, function (li) {
return li.innerHTML;
}).reverse().forEach(function (content, i) {
lis[i].innerHTML = content;
});
...并使用 jQuery:
你可以使用这个:
$($("ul > li").get().reverse()).each(function (i) {
$(this).text( 'Item ' + (++i));
});
演示在这里
另一种方式,也使用 jQuery 与reverse是:
$.fn.reverse = [].reverse;
$("ul > li").reverse().each(function (i) {
$(this).text( 'Item ' + (++i));
});
这个演示在这里。
另一种选择是使用length
(匹配该选择器的元素计数) 并使用index
每次迭代的 the 向下移动。然后你可以使用这个:
var $li = $("ul > li");
$li.each(function (i) {
$(this).text( 'Item ' + ($li.length - i));
});
这个演示在这里
还有一种,与上述有关:
var $li = $("ul > li");
$li.text(function (i) {
return 'Item ' + ($li.length - i);
});
演示在这里