とを組み合わせるJqueryの方法はappend()
ありreplaceWith()
ますか?
JQMプロジェクトにログインフォームがあり、すべてのサイトにあります。複数のページがDOMに読み込まれるため、ユーザーがページ間を移動するときに、DOMに重複するform#idがないように、長いフォームを「沿って」移動する必要があります。
私の質問:私はこのようにすることができます:
$('.form_in_new_page').replaceWith('.form_in_old_page')
しかし、「追加して置き換える」方法はあるので、1行のコードでこれを行うことができますか?
手伝ってくれてありがとう!
編集:いくつかの詳細情報 これが私がpagebeforehideで実行している私のスクリプトです:
$('div:jqmData(role="page").basePage').on('pagebeforehide', function(e, data) {
// look for unique elements on the page being left
$(this).find(':jqmData(unique="true")').each(function(){
var uniqueID = $(this).jqmData("unique-id"),
nextPage = data.nextPage,
nextUnique = nextPage.find( ":jqmData(unique-id='"+uniqueID+"')" ),
nextUniqueID = nextUnique.jqmData('unique-id') === uniqueID;
// if a unique element with id=123 is on both from and next page
if ( nextUniqueID == true ) {
// append element from page being left to and replace it on next page
nextUnique.replaceWith( $(this) );
}
});
});
アプリのDOM内にページを保持する必要があります。すべてのページにはログイン/ログアウトポップアップがあり、フォームとID付きの入力が含まれています。したがって、DOMに10ページある場合、10個のフォームと10個の各IDを持つ10個のポップアップが表示されます。私はポップアップをすべてに自動的に挿入しているので、ユーザーがサブページを直接呼び出した場合にポップアップが表示されます。ただし、ユーザーが次のページに移動したらすぐに、最初のページのフォームが2番目のページのフォームに追加されて置き換えられることを確認する必要があります。
それが今はっきりしていることを願っています。
上記は、新しいページのフォームを置き換えるだけですが、古いページのままにしておきます。