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