Heim > Web-Frontend > js-Tutorial > Hauptteil

Analysieren Sie den Unterschied zwischen der Verwendung der Funktionen „remove()' und „detach()' in jquery

巴扎黑
Freigeben: 2017-06-25 09:48:12
Original
1488 Leute haben es durchsucht

 jquery ist ein sehr leistungsfähiges Tool, das häufig in der Arbeit verwendet wird. Einige Methoden werden jedoch von uns immer noch ignoriert, da sie nicht häufig verwendet werden oder nicht bemerkt wurden.

Remove() und detach() können eine davon sein. Möglicherweise verwenden wir häufiger Remove(), aber detach() wird möglicherweise weniger verwendet. Vielleicht habe ich es nicht sorgfältig genug verwendet. Aber dieses Mal habe ich es aufgrund eines Problems in einem Projekt verwendet. Ich fand es sehr interessant, also habe ich es aufgezeichnet und mit allen geteilt.

remove(): Die offizielle Erklärung ist, dass

alle passenden Elemente aus dem DOM entfernt . Diese Methode entfernt die übereinstimmenden Elemente nicht aus dem jQuery-Objekt, sodass die übereinstimmenden Elemente in Zukunft wiederverwendet werden können. Neben der Beibehaltung des Elements selbst werden jedoch auch andere Elemente wie gebundene Ereignisse, zusätzliche Daten usw. entfernt.

Nach meinem Verständnis wurde das Element entfernt. Aber wie finde ich es wieder? Ehrlich gesagt habe ich noch nie einen Freund gefunden, der es benutzt hat. Können Sie es mir sagen, vielen Dank,

Verwendung:

Alle Absätze aus dem DOM löschen

HTML-Code:
  <p>Hello</p> how are <p>you?</p>
Nach dem Login kopieren
jQuery-Code:
  $("p").remove();
Nach dem Login kopieren
Ergebnis:
  how are
Nach dem Login kopieren
Nach dem Login kopieren
Zu dieser Methode gibt es nicht viel zu sagen. Reden wir hauptsächlich über die detach()-Methode,

Offizielle Beschreibung:

Entfernen Sie alle passenden Elemente aus dem DOM. Diese Methode entfernt die übereinstimmenden Elemente nicht aus dem jQuery-Objekt, sodass die übereinstimmenden Elemente in Zukunft wiederverwendet werden können. Im Gegensatz zu „remove()“ bleiben alle gebundenen Ereignisse, angehängten Daten usw. erhalten.

Beschreibung:

Alle Absätze aus dem DOM entfernen

HTML-Code:
 <p>Hello</p> how are <p>you?</p>
Nach dem Login kopieren
jQuery-Code:
  $("p").detach();
Nach dem Login kopieren
Ergebnis:
  how are
Nach dem Login kopieren
Nach dem Login kopieren
Beschreibung:

Löschen Sie den Absatz mit der Hallo-Klasse aus dem DOM

HTML-Code:
  <p class="hello">Hello</p> how are <p>you?</p>
Nach dem Login kopieren
jQuery-Code:
  $("p").detach(".hello");
Nach dem Login kopieren
Ergebnis:
  how are <p>you?</p>
Nach dem Login kopieren
Wenn wir es so betrachten, scheint es keinen Unterschied zu geben. Diese beiden Funktionen, haha. . . . Lassen Sie mich Ihnen jetzt erzählen, was mit mir passiert ist. Dann wird jeder verstehen, wie man es löst.

Ich habe hier ein Formular, eines davon ist der Registrierungscode, das heißt, jede Information hat einen unabhängigen Registrierungscode. Ohne den Registrierungscode kann die Registrierung nicht erfolgreich sein. Ich verwende das

KontrollFormularValidator von jquery zur Überprüfung. Es startet die Überprüfung, wenn die Seite geladen wird, und für CSS die Anzeige ()-Methode in jquery werden ignoriert. Ursprünglich. Dies ist kein Problem, aber der Benutzer hat eine neue Forderung gestellt, die darin besteht, eine Option hinzuzufügen, um zu bestimmen, ob der Registrierungscode angezeigt wird. Wenn er nicht angezeigt wird, überprüfen Sie das Textfeld für den Registrierungscode nicht Nachfrage.

Nachdem ich CSS Display und JQuery Hide() ausprobiert hatte, habe ich mich für Remove() entschieden. Die Überprüfung wurde gestoppt, aber als ich mich für die Überprüfung entschied, konnte der entfernte Inhalt nicht wieder hinzugefügt werden, also suchte ich nach etwas, das wieder hinzugefügt werden konnte. Zu diesem Zeitpunkt entdeckte ich

detach()。它的有什么好处呢。我下面放一代码出来

var p;
        function selectChange() {
            

            if (document.getElementById("ddl_schoolarea").value != "请选择") {

                p = $("#trlession").detach();
            }
            else {
                //table1为一个table名字
                $("#table1").append(p);
                
            }
        }
Nach dem Login kopieren

Nachdem ich diesen Code gesehen habe, glaube ich nicht, dass ich zu viel erklären muss. Jeder wird es verstehen, es ist eine sehr interessante Methode.


Das obige ist der detaillierte Inhalt vonAnalysieren Sie den Unterschied zwischen der Verwendung der Funktionen „remove()' und „detach()' in jquery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!