因此,我有一个网站,我每天访问工作。这个站点上的DataTables实现非常糟糕。DataTable应用于在呈现页面时生成的DataTable,然后在其上初始化DataTable。我认为这很棒,因为我可以创建一个小的TamperMonkey脚本来删除可怕的DataTable,并创建一个如何使用它的函数。
DataTable是通过文档body末尾的内联Javascript创建的。我按照博士对destory()方法进行了如下操作。
// ==UserScript==
// @name
// @version 0.1
// @description Makes the Invoice Table more user friendly
// @include URL
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require http://cdnjs.cloudflare.com/ajax/libs/datatables/1.10.1/js/jquery.dataTables.min.js
// @copyright 2014+, Me
// ==/UserScript==
$(function() {
var t = $('#customer_invoices').DataTable();
t.destroy();
});它没有“删除这些增强,并将表返回到原始的未增强状态,数据显示在表中”,如文档中所述。它似乎什么也没做。
我认为这要么是因为表还没有初始化Datatable,要么是因为我无法访问不同范围内的原始DataTable初始化。
任何帮助都是非常感谢的,因为这会让我把头撞到桌子上。
发布于 2014-08-20 04:17:21
使用.destroy()方法是不可能的。
如果打开控制台,通常可以通过运行以下命令来做到这一点:
$("#elementID").dataTable.destroy()注意:我没有使用dataTable().destroy(),因为元素已经是一个dataTable。
但是,您遇到的问题是不存在destroy方法.因为dataTable源代码已经缩小,不再称为destroy.而是给出一个占用空间小得多的令牌名称(可能是b或c、d或类似的东西)。
做您想做的事情的唯一方法是物理地更改使其成为dataTable的元素的属性.或者查找缩小文件的映射文件,这可以让您找到应该调用哪个最小化函数引用,而不是destroy(),以获得所需的效果。
发布于 2016-04-15 06:49:05
您可以使用的另一种方法是在进行更改后执行任何changes.And之前先使用div的克隆,然后用该克隆替换该div。
https://stackoverflow.com/questions/25396458
复制相似问题