在jquery中使用递增的数字设置name属性

时间:2013-03-20 14:57:52

标签: jquery input attributes

我在Jquery中有以下代码:

.find("input").attr('name', + cloneCount++)

我想要的是name属性的值具有当前值+随着cloneCount var的值增加。

我有什么想法可以做到这一点吗?

================= 更新

感谢大家的快速回复,但我意识到我没有提供足够的代码:

    var cloneCount = 1;
   $(".button").click(function(){

      $('#id')
          .clone()
          .attr('id', 'id'+ cloneCount++)
          .insertAfter($('[id^=id]:last'))
         .find("input").attr('name', parseInt(attr('name')) + cloneCount++)
   }); 
});

我想要的是,克隆div时,所有输入字段都会为name属性获取不同的值。输入数量是可变的。所以我们假设我们有一个名为=“example”的输入,克隆版本应该得到name =“example2”等。

4 个答案:

答案 0 :(得分:0)

试试这个:

var myInput = ....find("input");
myInput.attr('name', parseInt(myInput.attr('name')) + cloneCount++)

答案 1 :(得分:0)

.attr()的第二个参数可以包含一个函数,该函数可以返回应用于属性的值。

.find('input').attr('name', function() {
    return parseInt($(this).attr('name'), 10) + 1;
});

答案 2 :(得分:0)

for(i = 0; i <10000000; i ++) {

cloneCount ++;

.find(&#34;输入&#34)。ATTR(&#39;名称&#39;,cloneCount)

}

答案 3 :(得分:0)

试一试

var cloneCount = 1;
$('input').each(function() {
  $(this).attr('name', cloneCount)
  cloneCount ++;
});