2012-03-17 93 views
0

我的代码背后的想法很简单:如果第一个链接不是图像,则脚本抓取第一个链接到json的图像,然后转到另一个链接直到找到图像。但是代码不起作用。Mobile jQuery和jSon请求

$("#main").live('pageinit',function(){ 

     var url_first = "http://www.reddit.com/r/aww/.json?jsonp=?"; 
     var url_part1 = "http://www.reddit.com/r/aww/.json?after="; 
     var url_part2 = "&jsonp=?"; 

     $.getJSON(url_first).done(function(json){ 
      var x = 0; 
      var url = json.data.children.data[x].url; 
      var length = url.length; 
      var checkIfImageUrl = function(){ 
       if(url[length-1]=== "g"){ //check if Jpg extension 
        $("slodziaki").append('<img src="'+ url +'"/>'); 
       } else { 
        x+=1; 
        checkIfImageUrl(); 
       } 
      }); 
      checkIfImageUrl();   
     }) 
    }); 

回答

0

试着把它放在$(function() { // code });块中。

你的DOM还没有准备好,但是,男人!

+0

这是jQuery Mobile的因此我不能在任何的document.ready块的包裹。 – metrampaz 2012-03-17 13:26:50

+0

我对jquery mobile不熟悉。尝试使用console.log或alert()来查看代码是否实际被调用。 – Straseus 2012-03-17 13:27:45

+0

另外,'done'方法是什么?在'getJSON'规范中我没有看到。 http://jquerymobile.com/demos/1.0a1/experiments/api-viewer/docs/jQuery.getJSON/index.html – Straseus 2012-03-17 13:29:05

0

代码放在$("#main").live("pageshow",function(){}而不是pageinit堂妹为Straseus说你的DOM还没有准备好