setTimeout()函数不使用';t在jQuery each()函数中工作
我想将代码应用于一系列匹配的元素,每个元素之间有一个延迟。我不明白为什么以下代码不起作用:setTimeout()函数不使用';t在jQuery each()函数中工作,jquery,delay,settimeout,each,Jquery,Delay,Settimeout,Each,我想将代码应用于一系列匹配的元素,每个元素之间有一个延迟。我不明白为什么以下代码不起作用: jQuery(".myElement").each(function() { setTimeout(function() { jQuery(this).remove(); }, 1000); }); 我知道也有人问过类似的问题,但答案对我来说并不适用。我知道这段代码同时对每个匹配的元素应用延迟
jQuery(".myElement").each(function() {
setTimeout(function() {
jQuery(this).remove();
}, 1000);
});
我知道也有人问过类似的问题,但答案对我来说并不适用。我知道这段代码同时对每个匹配的元素应用延迟,这不是我想要的。但是我仍然不知道如何使它工作。不需要
。每个
setTimeout(function() {
jQuery(".myElement").remove();
}, 1000);
现在工作的原因是因为此
不再引用每个中的元素-- 不需要。每个
setTimeout(function() {
jQuery(".myElement").remove();
}, 1000);
现在工作的原因是因为此
不再引用每个中的元素--
问题在于调用jQuery(this.remove()并将其返回值传递给setTimeout。假设您打算在超时过期时运行此程序。如果是这种情况,您需要将其包装在一个函数中,以便该函数将被传递到setTimeout,并在计时器过期时执行
jQuery('.myElement').each(function() {
var thiz = jQuery(this);
setTimeout(function() { thiz.remove(); }, 1000);
})
问题在于调用jQuery(this.remove()并将其返回值传递给setTimeout。假设您打算在超时过期时运行此程序。如果是这种情况,您需要将其包装在一个函数中,以便该函数将被传递到setTimeout,并在计时器过期时执行
jQuery('.myElement').each(function() {
var thiz = jQuery(this);
setTimeout(function() { thiz.remove(); }, 1000);
})
谢谢你的回答。不管什么原因,我都不能让他们两个都工作。然而,这段代码最终为我完成了这项工作:
jQuery(".element").each( function(e) {
var element = jQuery(this);
setTimeout(function () {
jQuery(element).remove();
}, e*1000);
});
谢谢你的回答。不管什么原因,我都不能让他们两个都工作。然而,这段代码最终为我完成了这项工作:
jQuery(".element").each( function(e) {
var element = jQuery(this);
setTimeout(function () {
jQuery(element).remove();
}, e*1000);
});
和的可能重复。和的可能重复。不知道为什么需要这样做,但成功了,但使用jQuery()声明变量是关键。不知道为什么需要这样做,但成功了,但使用jQuery()声明变量是关键。