0
我對此有一段時間了。我想重新組織這些<span>
內的每個<td class="ref_type_block">
元素,按屬性sort_order
排序。使用javascript重新組織DOM元素
<tr>
<td class="time_col">11am</td>
<td class="ref_type_block">
<span class="ref_type_1" sort_order="0">█</span>
<span class="ref_type_2" sort_order="1">█</span>
<span class="ref_type_3" sort_order="3">█</span>
<span class="ref_type_13" sort_order="2">█</span>
</td>
</tr>
<tr>
<td class="time_col">12pm</td>
<td class="ref_type_block">
<span class="ref_type_1" sort_order="0">█</span>
<span class="ref_type_2" sort_order="1">█</span>
<span class="ref_type_3" sort_order="3">█</span>
<span class="ref_type_13" sort_order="2">█</span>
<span class="ref_type_13" sort_order="2">█</span>
<span class="ref_type_13" sort_order="2">█</span>
</td>
</tr>
我有以下的javascript函數這感覺很接近,我可以登錄的東西來安慰我展示它的選擇合適的零件,並.sort()
被解僱,但它不是改寫爲<td>
元素。
function sortBlocks() {
var tds = $('.ref_type_block');
for (var i = tds.length - 1; i >= 0; i--) {
td = tds[i]
console.log($(td).find('span').length);
if ($(td).find('span').length > 0) {
console.log("firing on:",td);
$(td).find('span').sort(function (a, b) {
return +a.dataset.sort_order - +b.dataset.sort_order;
}).appendTo($(td));
}
};
}
我已經從JavaScript/jQuery的遠了一點,怕這件事情非常簡單,特別是圍繞.appendTo()
方法。任何幫助,將不勝感激。
的區別就在這裏可能是你需要的屬性是'數據sort_order'通過'dataset' –
@傑森-P訪問它,你是對的。我發現我心中所知道的是類似的,後來我偶然發現了答案。由於我不清楚的原因,我無法使用'a.dataset.sort_order',我不得不使用'a.getAttribute('sort_order')' – ghukill
Annnnd然後我看到了你的評論,你完全正確,是的。欣賞對細節的一絲不苟。 – ghukill