2016-08-24 33 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。事實證明,這種方式更容易和有效。我也不需要添加變量 –