我是使用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');
});
}
问题是什么,我怎么能让这更好?有什么建议吗?
答案 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