由 Datatables 插件和 jQuery 1.11.3 触发的“未捕获类型错误:无法使用‘in’运算符在”中搜索“长度”

2024-04-26

我正在使用 jQuery Datatables 插件来启用表格的分页、排序和搜索。元素显示但不起作用,并且分页仅有时显示。在 Chrome 控制台中我收到错误:

Uncaught TypeError: Cannot use 'in' operator to search for 'length' in 

这是演示页面。 http://proxy-checker.jamesallison.co/view.php?code=f3935da410f9020c70a2e0dde185354c

我正在将 Bootstrap 与该插件一起使用。


该错误是由于该方法isArraylike在 jQuery 版本 1.11.3 中。 (仅有的)。该方法看起来像这样

function isArraylike( obj ) {

    // Support: iOS 8.2 (not reproducible in simulator)
    // `in` check used to prevent JIT error (gh-2145)
    // hasOwn isn't used here due to false negatives
    // regarding Nodelist length in IE
    var length = "length" in obj && obj.length, // <------ THIS IS THE CULPRIT
        type = jQuery.type( obj );

    .......
}

该版本的 jQuery 使用对象中的“length”来获取长度。 (我对此一无所知)。

但我确实知道其他版本的 jquery 没有这个问题。

1.11.3 和 2.1.4 版本(正如 James 在评论中指出的)有这个问题。

因此,解决方案是升级到下一个版本,或者至少使用 1.11.3 或 2.1.4 之外的任何其他版本

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

由 Datatables 插件和 jQuery 1.11.3 触发的“未捕获类型错误:无法使用‘in’运算符在”中搜索“长度” 的相关文章