我清除了内容后图片无法显示

时间:2010-06-04 16:02:48

标签: javascript jquery loops

我是使用jquery和js的新手,所以也许这就是为什么我不知道为什么我的代码无效的原因。

我创建了这个函数createList来将图像内容推送到div元素中。 (这部分很棒) 所以我想要做的是,创建一个元素女巫持有每张图片,并在我删除元素的内容后将包含这个“图像持有者”,代码插入它。但!我这样做,结果一无所获:

var createList = function(){
                var imgList = $("<div />").attr({'id': 'imgs'});
                $.getJSON("<?php echo base_url().'gallery/json/'.$this->uri->segment(3); ?>",function(data){
                    $.each(data, function(i,item){
                        var rowContent = $("<img/>").attr({"src": item.src, "style": "width: 130px; padding: 10px;"});
                        rowContent.appendTo("#imgs");
                    });
                    $('#s20').html('');
                    imgList.css({"visibility": "visible", "height": "auto"}).appendTo('#s20');
                });
            }

问题是什么,我怎么能让这更好?有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您尚未将imgList添加到DOM,因此无法使用#imgs选择器选择它。但是,您可以直接使用imgList变量。

这一行:

rowContent.appendTo("#imgs");  // Fails because #imgs is not yet part of the DOM

应该是:

rowContent.appendTo(imgList);  // Use existing reference to the element