javascript - 如何在 Chrome 开发者工具中使用 jQuery DataTables API?

标签 javascript jquery datatables google-chrome-devtools

我试图了解 DataTables API 的工作原理。因此,我想在 Chrome 开发工具中执行一些简单的调用并实时查看结果。

假设您有一个带有标题 Foo 和 Bar 的简单表格:

---------
|Foo|Bar|
---------
|1  |a  |
---------
|2  |b  |
---------

在 Chrome 开发工具中,我想执行以下操作:

var table = $('.datatable').DataTable();
table.search('a').draw();

之后只应显示第一行。然而,这不起作用。我还尝试使用 $('.datatable').dataTable().api(); 而不是 $('.datatable').DataTable();,但仍然无法让它发挥作用。知道如何实现这一点吗?

最佳答案

您必须单独注入(inject)每个脚本,初始化数据表,然后您可以使用 $_作为 dataTable API 的引用:

  1. 注入(inject) jQuery :

    var s = document.createElement('script');
    s.src = "//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
    document.getElementsByTagName('head')[0].appendChild(s);
    

等待控制台响应:

<script src=​"/​/​ajax.googleapis.com/​ajax/​libs/​jquery/​2.1.4/​jquery.min.js">​</script>​
  • 注入(inject)数据表:

    var s = document.createElement('script');
    s.src ="https://cdn.datatables.net/1.10.9/js/jquery.dataTables.js";
    document.getElementsByTagName('head')[0].appendChild(s);
    
  • 等待控制台响应:

    <script src=​"https:​/​/​cdn.datatables.net/​1.10.9/​js/​jquery.dataTables.js">​</script>​
    
  • 初始化您的表:

    jQuery('.dataTable').DataTable();
    
  • 控制台将响应:

    []
    
  • 您现在可以使用 $_ 来使用初始化数据表的 API:

    $_.search('a').draw();
    $_.search('').draw();
    $_.column(1).visible(false);
    
  • ...等等。但不知何故,我认为 fiddle 作为 Playground 更方便 -> http://jsfiddle.net/j92jh4fo/ :)

    关于javascript - 如何在 Chrome 开发者工具中使用 jQuery DataTables API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33460663/

    相关文章:

    javascript - Mocha 客户端可以运行为 Cucumber/Gherkin 编写的测试吗?

    javascript - 理解外部函数(数组)的返回函数(x)

    javascript - jQuery 选择器在从 ajax 解析的 HTML 中的行为不符合预期

    javascript - 如何禁用对 jQuery.DataTables init 的排序?

    jquery-plugins - 当 JSON 为数据源时,在 jquery 数据表列中显示图像

    javascript - 如何获取没有id的输入值

    javascript - jquery循环不会暂停

    javascript - JQuery递归地切换 child

    javascript - JQuery DataTables 默认排序不起作用

    javascript - 在Javascript中,这个参数如何通过值而不是通过引用传递?