2016-08-17 7 views
0

https://jsfiddle.net/codenoob/cavrnyv0/6/jQueryがjsfiddle参照してください。要素ID

を更新し、その後追加します。

テーブルに新しい行を追加するボタンがあります。次に、新しく追加された行のIDを更新して、各行が一意になるようにします。しかし、間違いは間違っています。

などです。私はあなたが開発者ツールで要素をチェックすると、私は

newrow 1 
newrow 2 
newrow 3 
original 

を得る代わりに

original 
newrow 1 
newrow 2 
newrow 3 

を取得して期待しています。あなたが気づくでしょう。オリジナルよりも前に追加されていませんが、元の名前をnewrow1に変更しています。

私は間違ったことをしました。

答えて

1

クローニングにはhtml()を使用する必要はありません。jqueryには、はるかに効率的なクローン機能があります。

また、のようにDOMノードに変更を加えてから、 DOMに挿入する必要があります。この場合、新しい行を追加する前に、新しい選択ボックスのIDを設定する必要があります。理由は、いったんDOMノードが挿入されると(たとえば、ページ内でそのノードを見ることができるため)、すべての変更によって再レンダリングされるためです。これは単なる非効率的なことです。

は、この更新されたバイオリンを見てみましょう:

https://jsfiddle.net/cavrnyv0/8/

+0

この私はそれを試してみます有望に見えます。クローン機能について知りませんでした。 – codenoob

関連する問題