javascript - À propos de la méthode Remove() de jquery
阿神
阿神 2017-07-05 11:06:29
0
1
1091

Je ne comprends pas très bien ici. Sera-t-il supprimé de l'objet jquery ? Si vous souhaitez le supprimer, comment le supprimer ?

阿神
阿神

闭关修行中......

répondre à tous(1)
学习ing

Concernant la suppression, on regarde le code source comme ceci : extrait de jquery2.x

// keepData is for internal use only--do not document
    remove: function( selector, keepData ) {
        var elem,
            elems = selector ? jQuery.filter( selector, this ) : this,
            i = 0;

        for ( ; (elem = elems[i]) != null; i++ ) {
            if ( !keepData && elem.nodeType === 1 ) {
                jQuery.cleanData( getAll( elem ) );
            }

            if ( elem.parentNode ) {
                if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
                    setGlobalEval( getAll( elem, "script" ) );
                }
                elem.parentNode.removeChild( elem );
            }
        }

        return this;
    },

Suivez l'exemple de code $('p').remove()Combiné au code source, le plus pratique est le RemoveChild natif

https://developer.mozilla.org...

Et RemoveChild, voici une description de MDN :

Le nœud enfant supprimé existe toujours dans la mémoire, mais il n'est pas ajouté à l'arborescence DOM du document actuel. Par conséquent, vous pouvez également rajouter ce nœud au document. Bien entendu, l'implémentation doit utiliser une autre variable telle. comme oldChild ci-dessus dans l'exemple est utilisé pour enregistrer la référence à ce nœud, si la deuxième méthode dans la syntaxe ci-dessus est utilisée, c'est-à-dire que oldChild n'est pas utilisé pour enregistrer la référence à ce nœud, le nœud supprimé est considéré comme étant. inutile en peu de temps Il sera recyclé par la gestion de la mémoire.

La marque marquée par le propriétaire de la question ne sera pas supprimée de l'objet jQuery. De même, le propriétaire de la question peut trouver un dom jQuery sur la page et le consulter,
par exemple

.
var t = $('#test');
t.remove();

Voici un objet jQuery, contenant les informations du dom qui a été supprimé.

Comme cité par mdn ci-dessus, si vous n'utilisez pas de variables pour enregistrer le dom supprimé, il attend d'être recyclé.

Bien sûr, cela peut ressembler à ce qui précède, ou t est utilisé pour enregistrer les informations dom, et c'est sur t[0], alors vous pouvez essayer delete(t[0]) ?

= =Je ne sais pas comment tester si le dom a été recyclé. Mais en gros elle a été supprimée et non citée. Si la page DOM n'est pas très compliquée, elle peut être ignorée pour le moment. Ceci est mon opinion, n'hésitez pas à me faire savoir si je me trompe ~

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal