$(...).DataTable(...).rows 不是函数
Posted
技术标签:
【中文标题】$(...).DataTable(...).rows 不是函数【英文标题】:$(...).DataTable(...).rows is not a function 【发布时间】:2016-04-09 04:41:47 【问题描述】:我在我的项目中添加了 jquery.dataTables.min.js(1.10.3 版本)(为方便起见称为 js1)以使用 DataTable().rows().nodes()
函数(以及其他)并且它的工作正常。
现在,我正在尝试使用 Datatable 插件实现嵌套表,这里是 jsfiddle(在我项目的同一页面中)。
正如你在小提琴中看到的那样:
http://ajax.aspnetcdn.com/ajax/jquery.dataTables/1.9.0/jquery.dataTables.min.js (为方便起见称为 js2)
这与 js1 不同。
这两个不同的插件同时服务。 因为没有 js1 我得到这个错误:
使用 $(...).DataTable(...).rows is not a function
或 $(...).dataTable(...).rows is not a function
我总是遇到同样的错误。
jsfiddle中没有js2嵌套表是不行的。
所以,我在我的页面中添加了两个插件。但我得到了错误(.row is not ...)呢。
查看带有错误的新jsfiddle。
【问题讨论】:
【参考方案1】:.DataTable()
构造函数返回 1.10 中引入的新 api。
要使用旧功能,请使用.dataTable()
构造函数。
如果你需要新的api功能和旧的api功能,你可以使用.dataTable()
构造函数来创建你的表对象并使用新的api,如下所示:myTable.api().whateverFunction()
【讨论】:
你能给我更多关于 myTable.api().whateverFunction() 的信息吗? 查看this answer 了解 .dataTable() 与 .DataTable() 的更详细说明。 .api() 仅在我不使用 js2 时才有效。否则我会得到“.api().. is not a function..” 是的,因为在您的情况下 js1 是数据表版本 1.10。【参考方案2】:我在相同的版本中遇到相同的错误。
我按照以下步骤“修复”它
第 1 步
在您的网络中打开控制台
第 2 步
为你的数据表创建一个变量
例如:
var p = $('#my_table').dataTable();
第 3 步
现在你写“p”和一个点,你就拥有了所有可用的功能。我不知道为什么,但我有不同的函数名称。我只是搜索我需要的东西。
希望能有所帮助。
【讨论】:
第三步看不懂 在控制台中,写上“p”(变量名)和一个点“p”。并且会出现所有的功能。 mmm 正在寻找解决方案我找到了这个尝试一下:$('#my_table').dataTable().DataTable().rows();以上是关于$(...).DataTable(...).rows 不是函数的主要内容,如果未能解决你的问题,请参考以下文章
.NET里面datatable.rows[i]可以直接转换为DataRow吗?是否要先new一个DataRow,然后再依次赋值?