นี่คือตัวเลือกที่แตกต่างกันสำหรับสิ่งนี้:
ครั้งแรก : ไม่มี 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
ทำซ้ำแต่ละครั้ง จากนั้นคุณสามารถใช้สิ่งนี้:
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);
});
ตัวอย่างที่นี่
<li>Item 5</li>
จะมีดัชนีเป็น 0