如何将元素ID值更新为值+文本?

时间:2015-10-16 22:39:09

标签: jquery

我想将div的所有子ID设置为ID +数字。这是一个不起作用的代码示例,但它应该让我知道我想要它做什么。

对于每个孩子,我想将ID属性更改为ID + inputs_count。

我这样做是因为我克隆了一个带有一些孩子的div,我想将克隆计数附加到每个子div上以保持唯一性。

$(parentDiv).children().attr('id', this.attr('id')+inputs_count);

2 个答案:

答案 0 :(得分:2)

试试这个:

$(parentDiv).children().each(function()
{
  $(this).attr('id', $(this).attr('id')+inputs_count);
});

示例:http://jsfiddle.net/nkgtf278/1/

答案 1 :(得分:1)

通过为attr()方法提供一个函数来更新集合中每个元素的属性的当前值,可以在没有循环的情况下执行此操作。试试这个:

$(parentDiv).children().attr('id', function(i, v) {
    return v + i;
});

在匿名函数中i是一个包含整数的整数,v是该属性的当前值。

http://api.jquery.com/attr/#attr-attributeName-function