【问题标题】:jQuery how to append images to more than one divjQuery如何将图像附加到多个div
【发布时间】:2011-06-08 04:21:48
【问题描述】:

我正在使用 jquery json 从 flickr 返回图像。如果我想将所有图像附加到一个 div 那不是问题。我想要做的是返回 36 个图像,但将 1-9 个图像附加到 div 1 和 10-18 到 div 2 19-27 到 div 3 和 28-36 到 div 4。

【问题讨论】:

  • 您如何检索图像?它会是一个数组、一个 JSON 对象还是 XML? (或者更确切地说,你必须使用哪种类型的变量/列表并进行迭代?)
  • 您能否发布一个代码示例来说明您目前正在做什么?

标签: jquery function append


【解决方案1】:

应该这样做:

示例: http://jsfiddle.net/9KyaK/

$images.each(function( i ) {
    if( i % 9 === 0 )
        $images.slice(i, i + 9).appendTo('#div' + (i / 9) );
});

假设$images是图片的集合,每个div的id为div0', 'div1


编辑:我有.appendTo('#div' + i ); 而不是.appendTo('#div' + (i / 9) );。修正并添加了一个示例。


编辑:对于您的特定代码,请将其添加到 getJSON 回调的末尾。在for 循环之后。

var $flickr = $('#flickr'); 
var $images = $flickr.children('a');

$images.each(function( i ) {
    if( i % 9 === 0 ) {
        var newDiv = $('<div/>',{id:'div'+(i/9)}).appendTo($flickr);
        $images.slice(i, i + 9).appendTo( newDiv );
    }
});

【讨论】:

  • @Chill:没有足够的信息知道该怎么做。我对您的 HTML 结构一无所知,因此我可以知道在哪里追加。如果此行添加:$(THUM).append('&lt;a href="' + l + '" rel="ChillBoxGroupFlickr" title="' + photo['title'] + '"&gt;&lt;img src="' + t + '" /&gt;&lt;/a&gt;');,那么我想您需要将THUM 替换为可以选择正确容器的内容。例如 $( '#cont_' + ~~(i / 9) ).append(... 如果您的容器 ID 是 cont_0cont_1 等。
  • 那么你想在哪里追加它们?您想创建新容器吗?而且只有9张图片。我以为会有更多。
  • 如果你刷新现在应该有 18 个
  • @Chill:现在还有更多,但我仍然不知道应该将它们附加到哪里。是否需要根据返回的图片数量动态创建容器?
  • 我目前正在将图像全部附加到一个 div #flickr。图像像这样在 atm 中添加。我想做的是从 div #flickr 获取图像并附加到新的 div,比如 div1 div2 div3 等,或者不是将所有图像附加到 div #flickr,而是一次将它们附加 9 个到 div0、div1、div2
猜你喜欢
  • 2021-01-26
  • 2023-03-24
  • 1970-01-01
  • 2015-10-12
  • 2012-12-04
  • 1970-01-01
  • 2017-11-12
  • 1970-01-01
  • 2011-09-14
相关资源
最近更新 更多