为什么DataTables方法在表上不起作用?

时间:2019-07-30 06:02:34

标签: javascript datatables

这是我进行Web开发和当前学习DataTables的第一步。

DataTables的快速入门指南提供了一个函数示例:

$(document).ready( function () {
   $('#table_id').DataTable();
 });

让我感到困惑的是,当我稍微更改此功能时,它不起作用:

$(document).ready( function () {
    var table = document.getElementsByTagName("table");
    table.DataTable();
 });

在控制台中,我收到一个错误,提示“表”没有DataTable函数。

但是,这种功能上的变化很好:

$(document).ready( function () {
    $(document.getElementsByTagName("table")).DataTable();
}); 

我非常感谢您的解释。

4 个答案:

答案 0 :(得分:1)

您使用的API错误{@ {1}}不是该目标.Datatable()的成员,因此您的更改不起作用

答案 1 :(得分:1)

我不知道您导入了什么js,但似乎您导入的js不包含该方法。如果尚未导入库,则可能需要添加jquery Ui才能使用它的数据表。

$(document).ready(function() {
    $('#example').DataTable( {
        ajax:           "../data/2500.txt",
        deferRender:    true,
        scrollY:        200,
        scrollCollapse: true,
        scroller:       true
    } );
} );

答案 2 :(得分:1)

var table = document.getElementsByTagName("table");

getElementByTagName为您提供了您犯错的元素。您的var table中有一组数组   而且您还没有正确编写选择器。

$(document).ready( function () {
    var table = document.getElementsByTagName("table");
    $(table).DataTable();
 });

答案 3 :(得分:1)

Datatables是jQuery的插件。这就是为什么您需要使用元素的jQuery对象。

  

jQuery中使用的$符号是一个选择器函数,该函数将CSS样式选择器作为输入并返回DOM引用(以jQuery对象形式),可以用来操作DOM属性。