1

私の問題をこれに単純化しました:

<div id='outer'>
   <div id='inner'>
        <label for='flipInput'> Active: </label>
        <input name='flipInput' data-role='flipswitch' />
    </div>
</div>

これらのライブラリを含めることとは別に、このスクリプト命令は次のとおりです。

$('#inner').remove();

https://jsfiddle.net/Lenoxus/f1oo4LqL/

その効果は、私が望む/期待するように、その子と一緒に削除するのではなく、その「内部」divをUNWRAPすることです。入力に ​​data-role='flipswitch' がない場合は発生しません。これは本当に保持したいものです。(つまり、そのデータの役割を持つことで、ラベルと入力が削除プロセスを生き残ることになりますが、これはすべきではありません。)これに対抗する方法を見つけようとしています。

4

1 に答える 1

0

必要な要素を取り出し、作成したlabelinput破棄しflipswitch、 を削除しdiv、要素を追加し直して、flipswitch再度初期化することをお勧めします。

作業例: https://jsfiddle.net/Twisty/2trwL715/

jQuery

$(function() {
  var label = $("#inner label");
  var flip = $("#inner input[data-role='flipswitch']").clone();
  var parent = $("#inner").parent();
  $("#inner input[data-role='flipswitch']").flipswitch( "destroy" );
  $("#inner").remove();
  parent.append(flip);
  flip.flipswitch();
});
于 2016-10-13T20:18:18.470 に答える