Jquery,如何归属两个或多个输入名称并更改其值

时间:2012-12-09 18:37:22

标签: jquery attr each

请注明以下标记:

<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”。

请你有任何建议吗?

3 个答案:

答案 0 :(得分:2)

替换

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

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

所以要更改迭代所在的.input内的.closet

答案 1 :(得分:0)

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

$('.closet').each(function(index, elem)  {
   $('.input', elem).attr('name', 'hello'+(index+5));
});

答案 2 :(得分:0)

而不是

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

应该是

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