Javascript jQuery-setInterval,每个值$
我要把我的头发扯下来。我正在尝试与我的PHP函数交互,该函数有时会测量:timeSince()发布帖子 我不需要在jQuery中使用插件来实现这一点,谢谢:o) 但是我不想在所有.post box time div上运行$.get(),因此我使用$.each。但它只是更新最后一个元素,但给我其他div的结果。 ->就好像它没有做$each() 这是我的密码:Javascript jQuery-setInterval,每个值$,javascript,jquery,Javascript,Jquery,我要把我的头发扯下来。我正在尝试与我的PHP函数交互,该函数有时会测量:timeSince()发布帖子 我不需要在jQuery中使用插件来实现这一点,谢谢:o) 但是我不想在所有.post box time div上运行$.get(),因此我使用$.each。但它只是更新最后一个元素,但给我其他div的结果。 ->就好像它没有做$each() 这是我的密码: setInterval(function() { $('.post-box-time').each(function()
setInterval(function() {
$('.post-box-time').each(function() {
var time = $(this).attr('data-time');
$this = $(this);
$.get("sys/calls.handler.php", { do: 'timeSince', data: time },
function(data){
$this.html(data);
});
}); // each function
}, 1000);
使用选项。这与你的问题有关
希望这将对您有所帮助。使用选项。这与你的问题有关
希望这能对您有所帮助。在声明
$this
之前,您应该抛出一个var
您将其声明为全局变量,而不是在
each()
运行的每个函数的作用域(这是var所做的)内声明。因此,当您的响应回调实际被触发时,您的循环已经完成并设置了全局变量$this
(或窗口。$this
)通过each()循环时找到的最后一个.post框时间的值。在声明$this
之前,您应该抛出一个var
您将其声明为全局变量,而不是在
each()
运行的每个函数的作用域(这是var所做的)内声明。因此,当您的响应回调实际被触发时,您的循环已经完成并设置了全局变量$this
(或窗口。$this
)通过each()循环时找到的最后一个.post框时间的值。我认为each函数中的这个值是对原始DOM元素的引用。.each提供从0开始的索引,因此您应该改为执行$('.post-box time:eq('+i+'))
。我认为each函数中的这是对原始DOM元素的引用。.each提供从0开始的索引,因此您应该改为执行$('.post-box time:eq('+i+'))
。如果打开控制台,是否会看到多个传出请求?(与.post box time的数量相同?有2个。post box time,我明白了。您的代码看起来应该可以工作。对我来说,这不是我的问题。将var放在$this…$(this)前面工作根本不起作用。没有任何返回。如果打开控制台,是否会看到多个传出请求?(与.post-box time的数量相同?有2个。post-box-time,我明白了。你的代码看起来应该可以工作。我想这不是我的问题。它通过将var放在$this…$(this)前面来工作。)根本不管用,什么都不管用returned@Kolind如果没有var
,$this
被声明为全局变量而不是局部变量。@JonathanLonowski很棒。非常感谢:)令人惊讶的是,“var”可以使整个函数工作。我喜欢编程:)您将其声明为全局变量,而不是在each()
运行的每个函数的作用域(这是var
所做的)内声明。因此,当您的响应回调实际被触发时,您的循环已经完成并设置了全局变量$this(或窗口。$this
)对于最后一个.post box time
的值,它在通过each()
@Kolind循环时发现,没有var
,$this
被声明为全局变量而不是局部变量。@JonathanLonowski真棒。非常感谢:)令人惊讶的是,“var”可以使整个函数工作。我喜欢编程:)您将它声明为一个全局变量,而不是在each()
运行的每个函数的作用域(这就是var
所做的)内声明它。因此,当您的响应回调实际被触发时,您的循环已经完成,并将全局变量$this(或window.$this
)设置为最后一个的值。在通过each()进行循环时,它发现的邮箱时间
。