Estoy tratando de encontrar una manera simple para restablecer todas las variables en el DOM. Mi aplicación tiene un ‘bloqueado’ estado’, pero en la actualidad, cuando está bloqueado, el último conjunto de la información es todavía visible en el DOM si miras el uso de Firebug, por ejemplo.

Sé todos los nombres de todas las variables, pero no quiero tener una muy engorroso secuencia de comandos, incluyendo todos los de ellos (hay aprox. 300), donde me explícitamente en claro sus valores.

¿Alguien sabe si hay una forma de ‘purga’ el DOM de conjunto de todos los vars?

Disculpas de antemano si esto es una pregunta tonta, y gracias por las respuestas. Mi aplicación usa jQuery ampliamente, pero todos mis Javascript/jQuery búsquedas en blanco.

  • ¿por qué quieres hacer eso? Y ¿qué se entiende por estado «bloqueado»?
  • están agregando variables de elementos del DOM como propiedades? DOM no tiene variables, por sí y ms responden parecen estar confundidos sobre lo que usted necesita para borrar.
InformationsquelleAutor Mark | 2009-12-13

3 Comentarios

  1. 1

    Suponiendo que usted está adjuntando las variables a elementos del DOM como propiedades (lo que usted debe tener cuidado de no crear una referencia cíclica y el gatillo es decir las pérdidas de memoria; ver: crockford artículo).

    En el artículo sobre las filtraciones, el Señor Crockford da una función para la purga de las referencias de función de todos los elementos del DOM, que es similar a lo que usted necesita:

    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]);
            }
        }
    }

    Donde ha

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

    Reemplazar con la lógica de que los controles de sus atributos personalizados/propiedades (tenga a mano una lista en una matriz si utiliza una gran cantidad de diferentes, y asegúrese de que ninguno de sus nombres de propiedad conflicto con los atributos estándar como src, título, etc.)

  2. 0

    Cada ámbito global de la variable o función está actualmente definida dentro de la ventana actual. Puede enumerar los miembros de un objeto (ver este post). Si usted puede separar las variables definidas por el usuario, entonces usted tiene todo lo que usted necesita. Puede ser que usted puede definir una ventana vacía y comparar las variables. Consulte el siguiente

    var a=5
    
    alert(window.a); //OR
    alert(window["a"]);

Dejar respuesta

Please enter your comment!
Please enter your name here