Hierfür gibt es verschiedene Möglichkeiten:
Erste : ohne 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;
});
... und mit jQuery:
Sie können dies verwenden:
$($("ul > li").get().reverse()).each(function (i) {
$(this).text( 'Item ' + (++i));
});
Demo aquí
Eine weitere Weise, auch unter Verwendung von jQuery mit umkehren ist:
$.fn.reverse = [].reverse;
$("ul > li").reverse().each(function (i) {
$(this).text( 'Item ' + (++i));
});
Diese Demo aquí .
Eine mehr Alternative ist die Verwendung der length
(Anzahl der Elemente, die mit diesem Selektor übereinstimmen) und gehen von dort aus nach unten, indem sie die index
einer jeden Iteration. Dann können Sie dies verwenden:
var $li = $("ul > li");
$li.each(function (i) {
$(this).text( 'Item ' + ($li.length - i));
});
Diese Demo aquí
Eine mehr die in gewisser Weise mit der oben genannten verwandt ist:
var $li = $("ul > li");
$li.text(function (i) {
return 'Item ' + ($li.length - i);
});
Demo aquí