jquery:查找并遍历div中具有特定ID的所有跨度?

Bil*_*lly 5 jquery replace

我有一个为每个项目编号的列表(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)

谢谢大家的帮助.

aro*_*oth 0

如果与框架无关的解决方案是可以接受的,那么以下几行应该可以解决问题:

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)