如何在jQuery each函数上使用回调?
我正在尝试类似的事情:
$.each(images, function(key, value) {
new_images+= '<li><a href="'+value+'"><img src="'+value+'" alt="'+[key]+'" /></a></li>';
}, function (){
$('#Gallery').remove();
$('body').append('<ul class="gallery">'+new_images+'</ul>');
});
答案 0 :(得分:44)
$.each();
是一个同步函数。这意味着您不需要内部回调函数,因为您在$.each();
之后编写的任何代码都将运行到$.each();
结束。
答案 1 :(得分:26)
这段代码有什么问题?您不需要$.each
的回调。
$.each(images, function(key, value) {
new_images+= '<li><a href="'+value+'"><img src="'+value+'" alt="'+[key]+'" /></a></li>';
});
$('#Gallery').remove();
$('body').append('<ul class="gallery">'+new_images+'</ul>');
答案 2 :(得分:1)
你是说这个吗?
$.each(images, function(key, value) {
new_images+= '<li><a href="'+value+'"><img src="'+value+'" alt="'+[key]+'" /></a></li>';
});
function myMethod(){
$('#Gallery').remove();
$('body').append('<ul class="gallery">'+new_images+'</ul>');
};
myMethod();
答案 3 :(得分:1)
我现在有一个.each-callback的解决方案!
我必须为数组中的每个元素执行ajax请求。所以我创建了一个div容器,其中包含每个元素的所有div元素。每次加载时,div元素在.remove之后变为绿色和.slideUp。 每次我问div容器是否为空。如果是,我知道,所有元素都是完全loades(因为已删除)。
这是我的代码的一部分:
<script>
$(document).ready( function() {
$.each(myChannels, function(index, value) {
$("#tag_"+value).load('getxmls/ajaxrenewchannel/channel:'+value, function() {
$("#tag_"+value).removeClass('alert-info').addClass('alert-success');
$("#tag_"+value).slideUp('600', function () {
$("#tag_"+value).remove();
if( $('#loadcontainer').is(':empty') ) {
window.location = 'feeds/';
}
});
});
});
});
</script>
希望这可以帮助那些人......
答案 4 :(得分:0)
不确定你的回调。我想这就是你要找的东西
$('#Gallery').remove();
var selectItems='<ul class="gallery">';
$.each(images, function(key, value) {
selectItems+= '<li><a href="'+value+'">
<img src="'+value+'" alt="'+[key]+'" /></a></li>';
});
selectItems+= '</ul>';
$('body').append(selectItems);