如何在$ .getJSON和$ .each jquery函数上创建一个特定的循环?

时间:2012-05-08 01:24:12

标签: jquery getjson flickr each

我有这个代码来检索Flickr图像。但是,我只想检索只说4个图像,如何编辑这段代码?

谢谢!

jQuery(document).ready(function($){
                $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?ids=<?php print $flickrid; ?>&lang=en-us&format=json&jsoncallback=?", function(data){
                      $.each(data.items, function(index, item){
                            $("<img/>").attr("src", item.media.m).appendTo("#flickr")
                              .wrap("<li><a href='" + item.link + "'></a></li>");
                      });
                    });
            });

2 个答案:

答案 0 :(得分:1)

懒惰的方式:

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?ids=<?php print $flickrid; ?>&lang=en-us&format=json&jsoncallback=?", function(data){
    $.each(data.items, function(index, item){
        if (index<5) {
            $("<img/>").attr("src", item.media.m).appendTo("#flickr")
                       .wrap("<li><a href='" + item.link + "'></a></li>");
            });
        }
    });
});

答案 1 :(得分:1)

接受的答案并不限制您从Flickr检索的图像数量。它只是忽略了返回的一些结果。但如果这就是你的意思,你接受了答案,所以我猜它是,那么这里的东西更加懒惰:

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?ids=<?php print $flickrid; ?>&lang=en-us&format=json&jsoncallback=?", function(data){
    $.each(data.items, function(index, item){
        $("<img/>:lt(5)").attr("src", item.media.m).appendTo("#flickr")
                         .wrap("<li><a href='" + item.link + "'></a></li>");
        }
    });
});

请注意“:lt(5)”过滤器。