2016-08-24 4 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ループを使って、すべてを1回のアクションで実行できます。それは維持するのも非常に簡単で、イモを読むのは良いです。

$(".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です。この方法は、より簡単かつ効果的に判明しました。私も変数を追加する必要はありません –

関連する問題