我已在我的应用程序中升级到jQuery 1.10.2,我的代码中出现错误(在$.each
中)。
'操作数e'中的'无效'。
升级jQuery后出现此错误。在'this._currentFilterbarValue
'中,有一个字符串值,我需要根据某些条件进行检查。
_CheckForSkipInput: function () {
var IsSkip = false;
if (this._currentFilterColumn.type == "String") {
var stringSkipInput = new Array(">", "<", "=", "!");
$.each(this._currentFilterbarValue, function (index, value) {
if (jQuery.inArray(value, stringSkipInput) != -1)
IsSkip = true;
});
}
return IsSkip;
},
答案 0 :(得分:4)
您正在尝试迭代this._currentFilterbarValue
中的字符(这是一个字符串),因此jQuery.each()
失败
$.each()
函数可用于迭代任何集合, 无论是对象还是数组。
所以试试
var IsSkip = false;
if (this._currentFilterColumn.type == "String") {
var stringSkipInput = new Array(">", "<", "=", "!");
for (var i = 0; i < s.length; i++) {
if (jQuery.inArray(s[i], stringSkipInput) != -1) IsSkip = true;
}
}
return IsSkip;
},
另一种方法,
将字符串this._currentFilterColumn
转换为 character array
,然后使用$.each()
var arr = this._currentFilterColumn.split(""); //Converting a string to char array
$.each(arr, function (index, value) { //Now iterate the character array
if (jQuery.inArray(value, stringSkipInput) != -1) IsSkip = true;
});