0

有没有一种 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 的弹出窗口。我会自动插入弹出窗口,因此如果用户直接调用子页面,它们就会出现。但是,一旦用户转到下一页,我需要确保第一页上的表单附加并替换第二页上的表单。

希望现在很清楚。

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

4

1 回答 1

1

In jquery since functions return this ($) you can chain calls:

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

Of corse, that means you need to chain calls in the correct order.

于 2012-02-28T05:57:24.973 回答