有没有一种 Jquery 方式来组合append()
和replaceWith()
?
我在每个站点上都有一个 JQM 项目的登录表单。由于多个页面将被加载到 DOM 中,因此当用户从一个页面转到另一个页面时,我需要“沿”移动长表单,以避免在 DOM 中出现重复的 form#ids。
我的问题:我可以这样做:
$('.form_in_new_page').replaceWith('.form_in_old_page')
但是有没有办法“追加和替换”,所以我可以用一行代码来做到这一点?
感谢帮助!
编辑:更多信息 这是我在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 10x 的弹出窗口。我会自动插入弹出窗口,因此如果用户直接调用子页面,它们就会出现。但是,一旦用户转到下一页,我需要确保第一页上的表单附加并替换第二页上的表单。
希望现在很清楚。
以上仅替换了新页面上的表单,但仍将其保留在旧页面中。