jQuery1.8.3中的bug:in操作符的操作数无效:缺少Object
最编程
2024-08-12 15:32:45
...
inArray: function(elem, arr, i) {
var len;
if (arr) {
if (core_indexOf) {
return core_indexOf.call(arr, elem, i);
}
len = arr.length;
i = i ? i < 0 ? Math.max(0, len + i) : i : 0;
// fix bug when ie8 ;这两行目的就是解决这个bug
if (typeof arr === "string") {
return arr.indexOf(elem);
}
for (; i < len; i++) {
// Skip accessing in sparse arrays
if ((i in arr) && (arr[i] === elem)) {
return i;
}
}
}
return -1;
},
jquery1.8, 638行至665行,inArray。
ie8下:报错:消息: “in”的操作数无效: 缺少 Object。 string 在ie8下不能使用 in 关键字迭代
解决办法。加上string类型的判断。
// fix bug when ie8 ;这两行目的就是解决这个bug
if (typeof arr === "string") {
return arr.indexOf(elem);
}