介绍 :
让我们从头开始,您可能知道 jQuery Mobile 如何处理页面,但其他一些读者可能不知道。
基本上,jQuery Mobiles 使用属性 data-role="page" 的 div 元素来表示对用户可见的页面。在给定的时刻只能看到一个页面(一些插件可以提供更多,但这不是这个问题的重点),从而产生了多层应用程序的错觉。可以将多个页面加载到 DOM 中,除了其他好处之外,这将为我们提供漂亮的页面转换效果。
答案:
在 jQuery Mobile 中使用重复的 id,如果使用得当不会产生任何不良影响。但规则总有例外。页面必须有唯一的 id。这意味着您可以拥有具有相同 id 的页面,但您只能访问第一个实例。所有其他页面元素都可以有相同的 id,jQuery Mobile 不在乎,只要你仔细观察你在做什么。
就像在答案 1 中一样。只要页面 id 是唯一的,您在单独的 html 文件或一个大的 html 文件中是否有相同的 id 都没有关系。同样,您可以使用与已加载到 DOM 中的页面具有相同 id 的页面加载另一个 html 文件,但是一旦您尝试访问其中的某些内容,您将访问最初存储到 DOM 中的页面。所以像这样使用它没有意义。
同样,唯一的规则是该页面必须具有唯一的 ID。只要它们是页面容器的子级,您就可以拥有尽可能多的其他相同 id。
这一切都可能令人困惑,但请耐心等待。为了解决这个问题,jQuery 开发人员创建了一个独特的选择器,可以帮助您获得一个活动页面。这很重要,因为如果我们的页面内容在页面之间是相同的(当然页面 id 是唯一的),我们只能通过某些活动页面选择器访问或当前页面内容。
例子:
$.mobile.activePage
这是一个活动页面选择器,它基本上是一个包含整个活动页面的对象,因此您可以使用它来更改活动页面内容,例如:
$.mobile.activePage.find('[data-role="content"]').append(......);
然后,如果您想访问其他页面相同的内容,您可以这样做:
$('#pageID').find('[data-role="content"]').append(......);
结论
只要页面具有唯一的 ID,您是否拥有具有相同内容的相同页面并不重要。