簡単なことだと思います...2divのコンテンツを交換し、残りのアクションを各要素にバインドします。今私はこれを持っています:
<div class="From">
//something here, doesnt matter
</div>
<div class="To">
//something here, doesnt matter
</div>
....
function switchElems() {
var from = $( ".From" );
var to = $( ".To" );
var fromHtml = from.html();
var toHtml = to.html();
from.html( toHtml );
to.html( fromHtml );
}
ただし、コンテンツを切り替えるだけで、内部の要素に関連するすべてのアクションのバインドを解除します。アクションとは、追加のプラグインによって追加された、内部のコンテンツに含まれるロジック全体を意味します。たとえば、クラスのあるdiv内from
にはinput
、jQuerygeocompleteプラグインがバインドされています。elemsを切り替えた後でも、その入力にジオコンプリート機能を持たせたいのですが、名前付きinput
にする必要があります。div
To
どうすれば修正できますか?