缓存页面正在影响 jQuery 个选择器

Cached pages is affecting jQuery selectors

我正在为我的混合应用程序使用 JQM。每个页面都是一个单独的 HTML 文件,JQM 使用 Ajax 加载页面。

每个页面都有一个带菜单栏的页脚。根据某些标准,会显示 2-4 个菜单项。如果我必须删除一些菜单项,我 运行 一个 js 脚本,它以:

var footer = $('#' + activePage +' footer [data-role="navbar"]');

使用此代码设置活动页面:

var activePage; // Global variable

$(document).on( "pagecontainerbeforeshow", function( e, ui ) {
   activePage = ui.toPage.prop("id");
});

问题是,在浏览了几页之后,我突然有了 2 个页脚。因此,当我计算 <li> 项的数量时,我得到例如 2 + 4。2 来自第一个页脚,4 来自第二个。

如何避免检索缓存页面?

pagecontainer 小部件有一个方法,getActivePage(),它可以满足您的需求。

所以你可以这样做:

var footer = $("body").pagecontainer( "getActivePage" ).find('.ui-footer [data-role="navbar"]');

那么您就不需要再尝试在页面显示上保存活动页面 ID。

Working DEMO