gpt4 book ai didi

javascript - setTimeout 给出 'result of expression is not a function' 错误

转载 作者:行者123 更新时间:2023-11-28 21:25:19 25 4
gpt4 key购买 nike

我有一个 setTimeout 调用:

if ($cardOne instanceof jQuery){

setTimeout(function() {
resetCard($cardOne);
}, 1000);

$cardOne = "";
}

调用此函数:

function resetCard($card){
$card.removeClass('show');
}

这会导致此错误:

表达式“$card.removeClass”的结果[未定义]不是函数。

我不确定这意味着什么。 setTimeOut 是否想要某种返回值?我已经验证 $card 确实是一个 jQuery 对象(在本例中是一个 DIV)。

更新:

我在上面添加了一些示例代码来指出我做错了什么。 Pointy 让我意识到问题在于,当调用removeClass 时,$card 不是一个 jQuery 对象。

如果你看看我的示例代码,事后看来我做错了什么很明显......我在 setTimeout 中调用该函数,然后立即将 $cardOne var 设置回空字符串。因此,当 setTimeout 调用该函数时,var 已被重置并且不再是 jQuery 对象。

修复方法是将对象的设置移至 ResetCard 函数中的空字符串。

最佳答案

如果您按如下方式更改“resetCard”会发生什么:

function resetCard($card) {
$($card).removeClass('show');
}

该错误意味着“$card”参数引用的对象上没有“removeClass”属性。

关于javascript - setTimeout 给出 'result of expression is not a function' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5211889/

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