javascript - 轻松清除所有脚本设置变量 (Javascript/jQuery)

标签 javascript dom variables reset

我试图找到一种简单的方法来重置 DOM 中的所有当前变量。我的应用处于“锁定”状态,但目前,锁定时,如果您使用 Firebug 查看,最后一组信息在 DOM 中仍然可见。

我知道所有变量的所有名称,但我不希望有一个非常繁琐的脚本,其中包含所有变量(大约有 300 个),我在其中明确清除了它们的值。

有人知道是否有办法“清除”所有设置变量的 DOM 吗?

如果这是一个愚蠢的问题,请提前致歉,并感谢您的任何回复。我的应用广泛使用 jQuery,但我所有的 Javascript/jQuery 搜索都没有结果。

最佳答案

假设您将变量作为属性附加到 DOM 元素(您应该注意不要创建循环引用并触发 IE 内存泄漏;参见:crockford article)。

在关于泄漏的文章中,Crockford 先生给出了一个函数,用于从所有 DOM 元素中清除函数引用,这与您需要的类似:

function purge(d) {
    var a = d.attributes, i, l, n;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            n = a[i].name;
            if (typeof d[n] === 'function') {
                d[n] = null;
            }
        }
    }
    a = d.childNodes;
    if (a) {
        l = a.length;
        for (i = 0; i < l; i += 1) {
            purge(d.childNodes[i]);
        }
    }
}

他在哪里

if (typeof d[n] === 'function') {

替换为检查您的自定义属性/属性的逻辑(如果您使用很多不同的属性,请在数组中保留一个列表,并确保您的属性名称没有与 src、title 等标准属性冲突.)

关于javascript - 轻松清除所有脚本设置变量 (Javascript/jQuery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1896569/

相关文章:

javascript - 传递给 history.pushState 的状态对象是什么,它有什么作用?

javascript - HTML 元素附加到文档

java - 面向对象的Java : External method calling with variable reference

linux - 使用 if 和 else 检查目录名称并在 linux bash 脚本中分配变量

javascript - Google Analytics _setCustomVar - 我仪表板中的奇怪数据

javascript - 从字符串转换更快的 boolean 值

javascript - 如何检查对象属性的任何值是否等于 0?

javascript - 在数组中查找范围的最有效方法

javascript - Dropzone.js 状态为挂起且未上传文件

php - 每 24 小时执行一个 php 页面