首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataTables -从在不同JavaScript文件中创建的DataTables中删除DataTables

DataTables -从在不同JavaScript文件中创建的DataTables中删除DataTables
EN

Stack Overflow用户
提问于 2014-08-20 03:52:38
回答 2查看 1.5K关注 0票数 3

因此,我有一个网站,我每天访问工作。这个站点上的DataTables实现非常糟糕。DataTable应用于在呈现页面时生成的DataTable,然后在其上初始化DataTable。我认为这很棒,因为我可以创建一个小的TamperMonkey脚本来删除可怕的DataTable,并创建一个如何使用它的函数。

DataTable是通过文档body末尾的内联Javascript创建的。我按照博士destory()方法进行了如下操作。

代码语言:javascript
复制
// ==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初始化。

任何帮助都是非常感谢的,因为这会让我把头撞到桌子上。

EN

回答 2

Stack Overflow用户

发布于 2014-08-20 04:17:21

使用.destroy()方法是不可能的。

如果打开控制台,通常可以通过运行以下命令来做到这一点:

代码语言:javascript
复制
$("#elementID").dataTable.destroy()

注意:我没有使用dataTable().destroy(),因为元素已经是一个dataTable。

但是,您遇到的问题是不存在destroy方法.因为dataTable源代码已经缩小,不再称为destroy.而是给出一个占用空间小得多的令牌名称(可能是b或c、d或类似的东西)。

做您想做的事情的唯一方法是物理地更改使其成为dataTable的元素的属性.或者查找缩小文件的映射文件,这可以让您找到应该调用哪个最小化函数引用,而不是destroy(),以获得所需的效果。

票数 0
EN

Stack Overflow用户

发布于 2016-04-15 06:49:05

您可以使用的另一种方法是在进行更改后执行任何changes.And之前先使用div的克隆,然后用该克隆替换该div。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25396458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档