gpt4 book ai didi

javascript - Jquery .remove() 不更新 DOM

转载 作者:行者123 更新时间:2023-12-02 15:55:35 25 4
gpt4 key购买 nike

我正在尝试使用 .remove() jQuery 方法从 DOM 中删除元素

基本上我正在解析一个列表并删除某些元素。然后,我重新解析列表,对其余元素进行一些处理。

但是简单打印列表的大小给我的印象是要过滤掉的元素没有被删除

$list = $(".elements_list");
alert( $list.size());
$list.each(function(){
if ( $(this).data("quantity") == 0)
{
$(this).slideUp(1000,function(){
$(this).remove();
});
}
});
change_background_colors();

在此处理之后,我调用另一个函数,该函数的开头包含以下代码:

function change_background_colors() {    
$list = $(".elements_list");
alert($list.size());
...
}

删除元素之前和之后我得到的列表大小相同...

我的方法有问题吗?

谢谢!

最佳答案

如果您在 setTimeOut 函数中调用大小警报,您将看到

$list = $(".elements_list");
alert($list.size());
$list.each(function () {
if ($(this).data("quantity") == 0) {
$(this).slideUp(1000, function () {
$(this).remove();

});
}
});

setTimeout(function () {
$list = $(".elements_list");
alert($list.size());
}, 2000);

JSFiddle:

https://jsfiddle.net/upkkLq2m/2/

关于javascript - Jquery .remove() 不更新 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31573920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com