4

我正在整合我所有的 JSON 调用。我从这个调用中取出所有内容$.getJSON并验证我的页面仍然有效,但是当我取出附加和列表视图时,内容永远不会出现。

这有效:

    $.getJSON("data/rides.json",
        function(data){
          $('#myRideList').append( rideList.join(' ') );
          $('#myRideList').listview('refresh');
      });

但这不是:

  //  $.getJSON("data/rides.json",
  //    function(data){
          $('#myRideList').append( rideList.join(' ') );
          $('#myRideList').listview('refresh');
 //     });
4

1 回答 1

5

您可能在 DOM 准备好之前运行代码。

getJSON版本将异步运行,让 DOM 有机会加载。

第二个版本将立即运行。

您可以将代码放入.ready()处理程序中以确保 DOM 已准备好。

$(function() {
  //  $.getJSON("data/rides.json",
  //    function(data){
          $('#myRideList').append( rideList.join(' ') );
          $('#myRideList').listview('refresh');
 //     });
});

我上面使用的语法是一个快捷方式:

$(document).ready(function() {
    // ...
});

最简单的解决方案往往是最好的。正如@TJCrowder 所指出的,将脚本放在页面底部(或至少在页面上所需元素之后的某个位置)的经过验证的真实技术很简单,不需要任何幕后技巧。

<body>
   <!-- your HTML markup -->

   <script type="text/javascript" src="http://example.com/my/script.js"></script>
</body>
于 2012-12-01T16:26:29.917 回答