2017-05-18 8 views
0

html要素をクローンしました。JQuery clone insertafter

var $clone = $('.rules-if-field-container-'+if_counter).clone(true); 

ここで、divがクローンされるときにdivを追加したいと思います。

私はこの試みた:

$clone.append('<div class="append_or_'+inc_counter+'"> </div>').insertAfter('rules-if-field-container-'+inc_counter); 

をしかし、私に正しい結果を与えるものではありません。

それは私にこの結果を与える:

<div class="box box-warning box-solid rules-if-field-container-1"><div class="append_or_1"> </div></div> 

をしかし、それはこのようにする必要があります

<div class="box box-warning box-solid rules-if-field-container-1"></div> 
<div class="append_or_1"> </div> 

私は要素をクローン化されたとき、私はinsertAfterを実行するにはどうすればよいですか?それはあなたがターゲットの子要素として指定したコンテンツを作成するように、その場合append()には、高度な

答えて

0

おかげで、あなたのニーズに適していません。

代わりに、最初にクローンをDOMに追加してから、after()を使用して2番目のdivを追加できます。これを試してください:

$clone 
    .insertAfter('.rules-if-field-container-' + inc_counter) 
    .after('<div class="append_or_' + inc_counter + '"> </div>'); 

また、増分クラス名を使用しないことを強くお勧めします。彼らはすぐに維持する苦痛になり、関連する要素のグループ化を可能にするクラスのポイントに対して完全に行きます。

+0

ええと、それは動作していないようです:( – erwinnandpersad

0

jQuery docs

.append()メソッドは、jQueryのコレクション内の各要素の最後の子 として指定されたコンテンツを挿入し(最初 子として挿入する(.prepend使用))。

代わりにafterが必要だと思います。

パラメータで指定された内容を、一致する要素のセットの各要素の後に挿入します。