У меня вызов setTimeout:
if ($cardOne instanceof jQuery){
setTimeout(function() {
resetCard($cardOne);
}, 1000);
$cardOne = "";
}
вызов этой функции:
function resetCard($card){
$card.removeClass('show');
}
Это приводит к этой ошибке:
Результат выражения '$ card.removeClass' [undefined] не является функцией.
И я не уверен, что это значит. SetTimeOut хочет возвращаемое значение некоторых сортов? Я убедился, что $ card - это действительно объект jQuery (в данном случае DIV).
UPDATE:
Я добавил еще несколько примеров кода выше, чтобы указать, что я делаю неправильно. Pointy заставил меня понять, что проблема была в том, что $ card не был объектом jQuery, когда к нему вызывался метод removeClass.
Если вы посмотрите на мой пример кода, теперь задним числом видно, что я делал неправильно ... Я вызывал функцию внутри setTimeout, а затем сразу устанавливал переменную $ cardOne обратно в пустую строку. Итак, к тому времени, когда setTimeout вызвал функцию, переменная была сброшена и больше не являлась объектом jQuery.
Исправление состоит в том, чтобы переместить настройку объекта в пустую строку в функцию resetCard.