我正在使用混合使用jQuery DataTables插件的旧版代码(版本1.10。一些旧代码绕过jQuery对象,并且一些旧代码通过DataTables API objects传递。我想让所有新的代码接受一个jQuery对象或一个DataTables API对象,但是我一直未能检测到一个变量引用了一个DataTables API对象。测试jQuery-DataTables API对象
我能找到的唯一检测方法在API中,isDataTable不适用 - 它为表格选择一个字符串并返回该选择是否已转换为数据表格。
中的“类别检测”方法不工作; typeof
返回"object"
,constructor.name
返回"Object"
,我不知道用于instanceof
或isPrototypeOf
的构造函数。
正如this answer建议(以同样的问题),Object.prototype.toString.call(var)
返回"[object Object]"
在Chrome中,console.log(var)
产生看起来有一些其他类的信息摘要:
▶ _Api {context: Array[1], selector: Object, ajax: Object}
我想,意味着有是我可以使用的地方,但this question关于Chrome的名称没有有用的答案。
如何检测变量引用jQuery-DataTables API对象的时间?
“!+”是语法错误,我假设这是“!=”的错字 – ShadSterling
原来我使用的是DataTable 1.10.3,解决方案工作谢谢! – ShadSterling
不客气。很高兴听到它,但我会在DataTables论坛上发布这个问题,看看艾伦贾丁是否有更好的方法来处理它。我担心这可能会突破某处。是的,这是一个语法错误,我的错误。我会解决它,谢谢。愚蠢的换档键。 – BobRodes