0

我需要动态更改表单元素的 id。例如,元素以id1、id2、id3、id4的形式排列(元素个数不固定为4个,可以多于4个)。我需要在 id1 之后添加一个元素作为 id2。发生这种情况时,已经在表单中的 id2 应该更改为 id3 并且 id3 应该更改为 id4 等等。我想把它放在一个带有javascript的递归函数中,但到目前为止还没有任何想法......请帮忙。

4

2 回答 2

3

使用 jquery,您可以这样做:您有一些带有“listItem”类和 id 的 html 标签。

<div id="1" class="listItem">something </div>
<div id="2" class="listItem">something </div>
<div id="3" class="listItem">something </div>

然后脚本

var i = 2;
$(".listItem").each(function() {
     $(this).attr("id", i++);
});

这应该将内容更改为

<div id="2" class="listItem">something </div>
<div id="3" class="listItem">something </div>
<div id="4" class="listItem">something </div>

这将遍历所有具有类“listItem”的标签并更改 id。

我希望这会有所帮助。

于 2012-09-07T16:08:30.477 回答
0

假设您的 html 是这样的:

<div id="id1" class="list"></div>
<div id="id2" class="list"></div>
<div id="id3" class="list"></div>

您可以创建一个函数,在中间插入一个新元素,并分两步更新以下所有元素的 id,如下所示:

function(insertAfterId) {
  jQuery('#' + insertAfterId).insert('<div id="temp" class="list"></div>');
  var count = 1;
  jQuery('.list').each(function() {
    jQuery(this).attr("id", "id" + count);
    count++;
  });
}

希望有帮助!

于 2012-09-07T16:20:27.370 回答