我正在嘗試修改此排序串列以按資料屬性中的最近日期排序。
function sortList(ul) {
var ul = document.getElementById(ul);
Array.from(ul.getElementsByTagName("div"))
.sort((a, b) => a.textContent.localeCompare(b.textContent))
.forEach(div => ul.appendChild(div));
}
這是html
<div class="grid customer-card-cnt" id="customerlist">
<div class="col col-sm col-4" data-date="2014-05-10"></div>
<div class="col col-sm col-4" data-date="2022-05-10"></div>
<div class="col col-sm col-4" data-date="2021-05-10"></div>
</div>
uj5u.com熱心網友回復:
似乎您正在使用錯誤的屬性(即textContent,而不是data-date屬性的值)進行排序。我在下面修改了您的示例以顯示正確的排序功能。
function sortList(ul) {
var ul = document.getElementById(ul);
Array.from(ul.getElementsByTagName("div"))
.sort((a, b) => b.dataset.date.localeCompare(a.dataset.date))
.forEach((div) => ul.appendChild(div));
}
這應該產生以下html:
<div class="grid customer-card-cnt" id="customerlist">
<div class="col col-sm col-4" data-date="2022-05-10"></div>
<div class="col col-sm col-4" data-date="2021-05-10"></div>
<div class="col col-sm col-4" data-date="2014-05-10"></div>
</div>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/440671.html
標籤:javascript 数组 排序
上一篇:找不到陣列值
