jQuery每次回调

时间:2012-09-04 13:21:11

标签: jquery callback each

如何在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>');
});

5 个答案:

答案 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);