0

我在 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 属性获得不同的值。输入的数量是可变的。假设我们有一个带有 name="example" 的输入,克隆版本应该得到 name="example2" 等。

4

4 回答 4

0

尝试这个:

var myInput = ....find("input");
myInput.attr('name', parseInt(myInput.attr('name')) + cloneCount++)
于 2013-03-20T14:59:05.507 回答
0

的第二个参数.attr()可以接受一个函数,该函数可以返回您需要应用于属性的值。

.find('input').attr('name', function() {
    return parseInt($(this).attr('name'), 10) + 1;
});
于 2013-03-20T15:00:44.740 回答
0

对于 (i=0;i<10000000;i++) {

克隆计数++;

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

}

于 2013-03-20T15:02:07.987 回答
0

试一试

var cloneCount = 1;
$('input').each(function() {
  $(this).attr('name', cloneCount)
  cloneCount ++;
});
于 2013-03-20T15:05:18.913 回答