私はこのようなhtml構造を持っています。
<div id='mydiv'>
<span class="tobecloned"> some heavy dom <br/> </span>
<span class="tobecloned"> some heavy dom <br/></span>
<span class="tobecloned" id="last"> last some heavy dom <br/></span>
</div>
ここで、span.tobecloned
このクローンを最後に変更してクローンを作成し、最後の変更後にすべての変更されたクローン インスタンスを複数回挿入しますspan.tobecloned
。
変更と挿入は for ループで行われます。次のようなことを試みています。
lastSpan = $('.tobecloned').last();
cloneHtml = $('.tobecloned').last().clone();
for (i = 0; i < 4; i++) {
// Here I am making enough changes in cloneHtml
console.log(i);
cloneHtml.attr('status', i + 1);
cloneHtml.insertAfter($('.tobecloned').last());
}
上記のループは 4 回実行されますが、複製された要素は 1 回だけ追加されます。これは問題を再現するためのデモですhttp://jsfiddle.net/illumine/SN4rr/
どうすればこれを修正できますか?
for
また、ループに新しい属性を追加していることにも注意してください。実際のアプリケーションでは、1 または 2 だけでなく、より多くの属性を変更します。
それを行うより良い方法はありますか?