我有一个为每个项目编号的列表(1,2,3,4 ..).我有一个删除项目的功能,但当它删除一个项目时,列表编号不再按顺序排列(1,3,4 ......).
我想要做的是找到以"id_"开头的所有跨度并获取完整的ID,这样就可以将数字重置为正确的顺序.
$('[id^="table_"]').each(function(index, table){
});
Run Code Online (Sandbox Code Playgroud)
我试图这样做的方式我无法弄清楚如何获得跨度的ID.
<div id="list">
<div id="list_1">
<table border="0" width="100%" id="table_1">
<tbody>
<tr>
<td>
<span id="id_1">1</span>
</td>
</tr>
</tbody>
</table>
</div>
<div id="list_2">
<table border="0" width="100%" id="table_2">
<tbody>
<tr>
<td>
<span id="id_2">2</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
谢谢
更新
好的,我从每个帖子中取了一点来得到这个
var i = 1;
$('span[id^="id_"]', "#list").each(function(index){
var id = this.id;
$('#'+id).html(i+'. ');
i++;
});
Run Code Online (Sandbox Code Playgroud)
谢谢大家的帮助.
如果与框架无关的解决方案是可以接受的,那么以下几行应该可以解决问题:
var myDiv = document.getElementById("targetDivId");
var displayNum = 1;
var nodes = myDiv.getElementsByTagName("span");
for (var index = 0; index < nodes.length; index++) {
var node = nodes[index];
if (node.id.indexOf("id_") == 0) {
node.id = "id_" + displayNum;
node.innerHTML = displayNum;
displayNum++;
}
}
Run Code Online (Sandbox Code Playgroud)