Jquery:拉动 flickr 设置 +获取item.title

发布于 2024-11-28 18:24:49 字数 862 浏览 0 评论 0原文

我正在尝试从 flickr 中提取一组图像:

<ul class="thumb">  
 <li>  
  <p class="artisan-name">item.title</p>  
  <img src="item.photo">  
 </li>  
  ..... as many li's as there are photos in the set  
</ul>   

到目前为止,我将照片包裹在 li 中,但我无法弄清楚如何让 p 出现在 ul 中的 img 之前。

到目前为止我所拥有的:

<script type="text/javascript">  
$(document).ready(function() {  
$.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=72157623815188370&    
nsid=12295778@N08&lang=en-us&format=json&jsoncallback=?", function(data){  
$.each(data.items, function(i,item){  
$("#title").html(item.title);   
$("<img/>").attr("src", item.media.m).appendTo("ul.thumb")  
.wrap("<li>");  
});  
});  
});  
</script>   
<ul class="thumb"></ul>  

I'm trying to pull a set of images from flickr:

<ul class="thumb">  
 <li>  
  <p class="artisan-name">item.title</p>  
  <img src="item.photo">  
 </li>  
  ..... as many li's as there are photos in the set  
</ul>   

So far, I have the photos wrapped in the li, but I cannot figure out for the life of me how to get the p to come before the img within the ul.

what I have so far:

<script type="text/javascript">  
$(document).ready(function() {  
$.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=72157623815188370&    
nsid=12295778@N08&lang=en-us&format=json&jsoncallback=?", function(data){  
$.each(data.items, function(i,item){  
$("#title").html(item.title);   
$("<img/>").attr("src", item.media.m).appendTo("ul.thumb")  
.wrap("<li>");  
});  
});  
});  
</script>   
<ul class="thumb"></ul>  

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

看轻我的陪伴 2024-12-05 18:24:49
var listItems = '';

$.each(data.items, function(i,item){
   // construct the html string
   // do NOT manipulate DOM inside a loop
   // it's to costly
   listItems
       += '<li>'+
            '<p class="artisan-name">'+item.title+'</p>'+
            '<img src="'+item.media.m+'" />'+
          '</li>';
});

// manipulate the DOM only once 
// to add all the li elements
$('ul.thumb').append(listItems);

更新:这是完整的代码(注释已删除)

$(document).ready(function() {
    $.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=72157623815188370&nsid=12295778@N08&lang=en-us&format=json&jsoncallback=?", function(data){  
        var listItems = '';
        $.each(data.items, function(i,item){
           listItems
               += '<li>'+
                    '<p class="artisan-name">'+item.title+'</p>'+
                    '<img src="'+item.media.m+'" />'+
                  '</li>';
        });
        $('ul.thumb').append(listItems);
    });  
});
var listItems = '';

$.each(data.items, function(i,item){
   // construct the html string
   // do NOT manipulate DOM inside a loop
   // it's to costly
   listItems
       += '<li>'+
            '<p class="artisan-name">'+item.title+'</p>'+
            '<img src="'+item.media.m+'" />'+
          '</li>';
});

// manipulate the DOM only once 
// to add all the li elements
$('ul.thumb').append(listItems);

Update: Here is the complete code (comments removed)

$(document).ready(function() {
    $.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=72157623815188370&nsid=12295778@N08&lang=en-us&format=json&jsoncallback=?", function(data){  
        var listItems = '';
        $.each(data.items, function(i,item){
           listItems
               += '<li>'+
                    '<p class="artisan-name">'+item.title+'</p>'+
                    '<img src="'+item.media.m+'" />'+
                  '</li>';
        });
        $('ul.thumb').append(listItems);
    });  
});
浪漫之都 2024-12-05 18:24:49

使用:

$.each(data.items, function(i,item){
   $("#title").html(item.title);
   var liElem=$('<li/>').append('<p>'+item.title+'</p>');
   $("<img/>").attr("src", item.media.m).appendTo(liElem);
   liElem.appendTo("ul.thumb");
});

为了获得更好的性能:

<script type="text/javascript">  
     $(document).ready(function() {  
         $.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=72157623815188370&    
nsid=12295778@N08&lang=en-us&format=json&jsoncallback=?", function(data){
            if(data.items && data.items.length){
                var arrLength=data.items.length,v='',dataHtml='';
                for(var i=0;i<arrLength;++i){
                    v=data.items[i];
                    if(v.media && v.media.m) dataHtml+='<li><p>'+(v.title||'')+'</p><img src="'+v.media.m+'" alt=""/></li>';
                }
                $('ul.thumb').append(dataHtml);
            }
        });
    });
</script>

Use:

$.each(data.items, function(i,item){
   $("#title").html(item.title);
   var liElem=$('<li/>').append('<p>'+item.title+'</p>');
   $("<img/>").attr("src", item.media.m).appendTo(liElem);
   liElem.appendTo("ul.thumb");
});

For better performances:

<script type="text/javascript">  
     $(document).ready(function() {  
         $.getJSON("http://api.flickr.com/services/feeds/photoset.gne?set=72157623815188370&    
nsid=12295778@N08&lang=en-us&format=json&jsoncallback=?", function(data){
            if(data.items && data.items.length){
                var arrLength=data.items.length,v='',dataHtml='';
                for(var i=0;i<arrLength;++i){
                    v=data.items[i];
                    if(v.media && v.media.m) dataHtml+='<li><p>'+(v.title||'')+'</p><img src="'+v.media.m+'" alt=""/></li>';
                }
                $('ul.thumb').append(dataHtml);
            }
        });
    });
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文