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>');
});
このコードの何が問題になっていますか? $.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>');
$.each();
は同期関数です。つまり、$.each();
が$.each();
の終了後に実行されるため、コードを記述する必要はありません。
.each-callbackの解決策が手に入りました!
配列の各要素に対してajaxリクエストを実行する必要がありました。そこで、各要素のすべてのdiv要素を含むdivコンテナを作成しました。読み込みが行われるたびに、.removeの後で、div要素は緑と.slideUpに変わりました。そして、divコンテナーが空かどうかを尋ねるたびに。はいの場合、すべての要素は完全にロードされています(削除されているため)。
ここに私のコードの一部:
<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>
これが誰かに役立つことを願っています...
これはどういう意味ですか?
$.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();
意図したコールバックがわからない。これはあなたが探しているものだと思います
$('#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);