Javascript Jquery';每个';不适用于ajax加载的dom
我正在尝试刷新一个div中的google广告。我为所有这些div添加了一个名为“adslot”的公共css类。ajax加载了几个div。但在文档就绪时,当我通过jquery调用所有这些div时,它只适用于那些在ajax调用之前加载的div。 例如,如果给出可用的“.adslot”的数量,则Javascript Jquery';每个';不适用于ajax加载的dom,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我正在尝试刷新一个div中的google广告。我为所有这些div添加了一个名为“adslot”的公共css类。ajax加载了几个div。但在文档就绪时,当我通过jquery调用所有这些div时,它只适用于那些在ajax调用之前加载的div。 例如,如果给出可用的“.adslot”的数量,则 alert($('.adslot').length); 输出:5,这是正确的。其中3个在ajax调用之前生成,2个在ajax调用之后生成 同时,如果我写- $('.adslot').each(functio
alert($('.adslot').length);
输出:5,这是正确的。其中3个在ajax调用之前生成,2个在ajax调用之后生成
同时,如果我写-
$('.adslot').each(function() {
var id = $(this).attr('id');
alert(id);
});
我只收到前3个divs id的警报,它是在ajax调用之前生成的
有没有办法用jquery读取所有5个div id?在
成功回调中尝试您的代码
$(function(){
$.ajax({
url:....,
data:...,
success:function(data){
$('.adslot').each(function() {
var id = this.id;
alert(id);
});
}
});
});
将代码包装成ajax success。一切都应该就绪,然后你可以使用this.id
而不是$(this).attr('id')
。或者将代码放入函数中,在$(document).ready()中调用一次,在ajax成功中调用一次。这是因为ajax中的第一个a代表异步,如果你发出警报($('.adslot')。长度);就在$('.adslot')之前。每个(函数(){?