-3

我有一个 jQuery Mobile 应用程序。该应用程序从后端提取 JSON 数据并将其呈现给用户。

从最近两天开始,我遇到了一个奇怪的问题。在向用户展示数据时,我正在尝试使用<a href="url"></a>标签。这是一行非常简单的代码,我只是不明白这么简单的东西有什么问题。

代码片段

$.each(obj, function(entryIndex, entry) {
            //some code
         html += '<a href="retrieveDetails.jsp?reference=' + entry.reference + '"><h3 class="term">' + entry['name'] + '</h3></a>';
         //some more code
      });

问题

当我尝试单击超链接时,我在 FireBug 控制台中看到以下错误。

j.data("page") is undefined
animationComplete()jquery....min.js (line 54)
error()

我在用什么?

<script src="http://code.jquery.com/jquery-1.5.2.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script>

如果有人可以指导我,我将不胜感激。

谢谢

4

1 回答 1

1

这里有几件事。

  • 您正在使用 JQM 的旧的不稳定版本。升级到最新的稳定版本。
  • 我怀疑您链接到的页面不包含带有 data-role="page" 的 div。这可能是错误说 j.data("page") 未定义的原因。当 JQM(jQuery mobile) 抓取您的其他页面时,它会查找具有该数据属性的 div。那是它插入原始页面dom的部分。

这是 JQM 在将新页面插入 dom 时查找的 div 示例。

<div data-role="page">
    <div data-role="content">
        <h1>Hello World</h1>
    </div>
</div>
于 2012-04-28T23:19:08.407 回答