2016-08-24 32 views
1

我有一些输入标签的属性class="item",我想添加一个唯一的id属性和属性唯一的名称。这是我使用的代码:jquery缩写一次写几个属性

$(".item").attr("id", function(index) { 
 
return "item" + (index+1); 
 
}).attr("name", function(index) { 
 
return "item" + (index+1); 
 
}).attr("value", function(index) { 
 
return "item" + (index+1); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<form id="groupitem"> 
 
<input type="text" class="item"/> 
 
<input type="text" class="item"/> 
 
<input type="text" class="item"/> 
 
</form>

我有上面的代码没有问题,但我只是想问问有没有其他的方法来比好还是短的准备写的jQuery我上面写的代码? 也许有人可以提出一个想法

回答

0

你可以做一切只是在一个动作,也许用each循环。它甚至很容易维护和阅读imo。

$(".item").each(function(i) { 
 
    $(this).attr({ 
 
     id : "item" + (++i), 
 
     name : "item" + i, 
 
     value : "item" + i, 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<form id="groupitem"> 
 
    <input type="text" class="item"/> 
 
    <input type="text" class="item"/> 
 
    <input type="text" class="item"/> 
 
</form>

+0

是的,谢谢@eisbehr对你的想法 –

+0

不客气,@AndesRizkyNugroho! – eisbehr

+0

是的,这就是你所说的真实@eisbehr。事实证明,这种方式更容易和有效。我也不需要添加变量 –