如何在动态生成的表中添加一行,但是以数字方式排序tr的id?
例如:
<table id="myDataTable">
<tr id="5143">
<td>Data Cell 1</td>
<td>Data Cell 2</td>
</tr>
<tr id="5144">
<td>Data Cell 1</td>
<td>Data Cell 2</td>
</tr>
<tr id="5149">
<td>Data Cell 1</td>
<td>Data Cell 2</td>
</tr>
<tr id="5150">
<td>Data Cell 1</td>
<td>Data Cell 2</td>
</tr>
</table>
如何添加id为5145的tr,使其低于5143但高于5149?我想要一个不涉及插件的解决方案,如果可能的话
答案 0 :(得分:4)
我会对它进行排序......但是,如果这是有效的,那就是idk
//arr is an array of the row id's
//row is the row being inserted
idx = arr.sort().indexOf(row.id) - 1;
$(row).insertAfter($("#myDataTable tr")[idx])
e.g。
答案 1 :(得分:2)
你可以遍历tr并进行比较;如果它比当前id大,那么添加它。
示例:
$('#myDataTable tr').each(function(index, Element) {
if (5145 > Number($(Element).attr('id'))) {
$(Element).after('<tr id="5145"><td>Data Cell 1</td></tr>');
}
});
答案 2 :(得分:1)
您可以使用$('#myDataTable tr').each(function() { .. }
如果你发现匹配只是在函数之后使用jquery来在右tr之后添加新行
`