如何在jquery中组合append()和replaceWith()?

时间:2012-02-28 05:51:40

标签: javascript jquery jquery-mobile append replacewith

Jquery是否可以合并append()replaceWith()

我在JQM项目中有一个登录表单,坐在每个站点上。由于多个页面将被加载到DOM中,因此当用户从一个页面移动到另一个页面时,我需要“沿着”移动长形式,以避免在DOM中出现重复的形式#id。

我的问题: 我可以这样做:

 $('.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个窗体和10个每个ID。如果用户直接调用子页面,我会自动插入弹出窗口,以便它们在那里。然而,当用户进入下一页时,我需要确保第一页上的表单在第二页上附加并替换表单。

希望现在很清楚。

以上内容仅替换新页面上的表单,但仍将其保留在旧页面中。

1 个答案:

答案 0 :(得分:1)

在jquery中,因为函数返回此($),你可以链接调用:

$("#selector").replaceWith("<div>Hello</div>").append('<div>test2</div>');

corse,这意味着你需要以正确的顺序链接电话。