我正在使用移动查询制作现有网站的移动版本。该站点有数百个页面,这些页面具有适用于 www 版本的已建立标记。问题是每个页面上都有许多相同元素 ID 的实例,例如 #username 或 #map 或 #photo。这在 www 上很好,因为每个页面都是独立加载的,所以没有冲突。在 JQM 中,看起来所有页面都以某种方式缓存在一起,并且代码引用了前一页。例如:
Page1.html
<div id="commonIdOnEveryPage">Page 1</div>
<a href="page2.html">Link</a>
<script>
alert($("#commonIdOnEveryPage").html());
</script>
Page2.html
<div id="commonIdOnEveryPage">Page 2</div>
<script>
alert($("#commonIdOnEveryPage").html());
</script>
单击第 1 页的链接转到第 2 页后,警报仍然显示“第 1 页”。
在这个例子中,很容易改变第二页的id,但是在实际的站点中,不同的页面上有数百个地方使用相同的ID,而JS有数千行长。当然有一种方法可以使 JQM 与此兼容。