有一种更好的传递参数的方法。
jQuery.data() 通过将数据附加到DOM(就像您使用的那样)来工作 id : <a ... data-id=""></a> )。因为jQuery Mobile永远不会刷新并使用AJAX进行页面切换,所以这些数据在整个移动应用程序/网站中都可用,但是一旦页面刷新,DOM就会重新加载,并且它对之前附加的数据一无所知。
jQuery.data()
id
<a ... data-id=""></a>
我认为你应该做的是以下几点。创建一个 locations.html 列表页面和 location-details.html 特定位置的详细信息页面。然后,您可以轻松地通过URL传递数据。
locations.html
location-details.html
例:
<!-- locations.html --> ... <ul id="locations_list" data-role="listview"> <li> <a href="location-details.html?id=1">Location 1</a> </li> <li> <a href="location-details.html?id=2">Location 2</a> </li> <li> <a href="location-details.html?id=3">Location 3</a> </li> <li> <a href="location-details.html?id=4">Location 4</a> </li> <li> <a href="location-details.html?id=5">Location 5</a> </li> </ul> ... <!-- location-details.html --> ... <script type="text/javascript"> $(document).on('pageinit', function () { function setupLocationDetails () { var location_id = $.mobile.path.parseUrl($(location).attr('href')).search.replace('?id=', ''); // Do whatever you need to do here. } setupLocationDetails(); }); </script> ...