2016-08-24 1 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

예, 덕분에 당신은, @AndesRizkyNugroho을 환영합니다 –

+0

아이디어에 @eisbehr! – eisbehr

+0

예, 당신이 말한 것은 사실입니다 @eisbehr. 이 방법이보다 쉽고 효과적으로 나타났습니다. 나는 또한 변수를 추가 할 필요가 없다. –

관련 문제