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); }
时间: 2024-10-08 02:54:14