0

请我有以下标记:

<div class="closet">
   <input name="hello1" class="input" />
</div>


<div class="closet">
   <input  name="hello2" class="input" />
</div>

我想为输入名称赋予属性并设置另一个值(例如 hello5 和 hello6),所以这是我的代码:

var i = 5;
$('.closet').each(function (k) 
{
    i++;

   $('.input').attr('name', 'hello'+i);
});

但它给我的两个输入值“hello6”的问题。

请问您有什么建议吗?

4

3 回答 3

2

代替

$('.input').attr('name', 'hello'+i);

$('.input', this).attr('name', 'hello'+i);

所以要改变你的迭代所在.input的内部.closet

于 2012-12-09T18:38:45.597 回答
0

您已经可以访问each()循环内的索引和元素:

$('.closet').each(function(index, elem)  {
   $('.input', elem).attr('name', 'hello'+(index+5));
});
于 2012-12-09T18:40:06.280 回答
0

代替

$('.input').attr('name', 'hello'+i);

应该

$(this).find('.input').attr('name', 'hello'+i);
于 2012-12-09T18:40:33.380 回答