我有以下功能:
function updateStatuses() {
$.each($('.status-badge'), function (i, value) {
value.removeClass('badge-known');
});
$.post("/Diagnostics/Update", { }, function(data) {
$.each(data, function() {
setStatus(this.Id, this.Infos, this.Errors, this.Warnings);
});
});
window.setTimeout(function () {
$.each($('.status-badge:not(.badge-known)'), function(i, value) {
value.addClass('badge-unknown');
});
}, 1000);
}
基本上,我正在通过 AJAX 调用更新一组徽章。如果在 1000 毫秒后,任何某个徽章没有被更新,它就会获得badge-unknown
该类。
上面的函数是这样调用的:
$(function () { updateStatuses(); });
我的问题是value.removeClass('badge-known');
出现以下错误:
TypeError: value.removeClass is not a function
如果我将该行注释掉,超时函数会引发相同的错误value.removeClass('badge-unknown');
令人困惑的是,addClass
并且removeClass
用于setStatus
,它在上述函数下方定义。我在这里做错了什么?