jquery を使用して div を複製していますが、div には 3 つの入力フィールドがあります。clone は要素の id と name を変更しないので、要素を見つけて変更しています。これを要素ごとに行います。コードは次のとおりです。
var idCounter = 1;
var noOfClonedItems = 0;
$('.container').on('click', '#add-new-sku', function(e){
e.preventDefault();
var clonedItem = $('.sku-data:first').clone();
clonedItem.find('#product_skus_attributes_0_price').attr('name','product[skus_attributes][' + idCounter + '][price]').val('0.0');
clonedItem.find('#product_skus_attributes_0_price').attr('id','product[skus_attributes][' + idCounter + '][price]');
clonedItem.find('#product_skus_attributes_0_units_in_stock').attr('name','product[skus_attributes][' + idCounter + '][units_in_stock]').val('0');
clonedItem.find('#product_skus_attributes_0_units_in_stock').attr('id','product[skus_attributes][' + idCounter + '][units_in_stock]');
clonedItem.find('#product_skus_attributes_0_units_sold').attr('name','product[skus_attributes][' + idCounter + '][units_sold]').val('0');
clonedItem.find('#product_skus_attributes_0_units_sold').attr('id','product[skus_attributes][' + idCounter + '][units_sold]');
clonedItem.appendTo('.sku-container');
idCounter++;
noOfClonedItems++;
});
しかし、私はこの手法を最適化しようとしていますが、100 個の要素がある場合はどうなるでしょうか?
このコードを最適化して、任意の要素に対して機能する方法を考えています。