Heim Web-Frontend js-Tutorial Der Unterschied zwischen leer und entfernen beim Löschen von DOM-Knoten

Der Unterschied zwischen leer und entfernen beim Löschen von DOM-Knoten

Sep 29, 2017 am 10:04 AM
empty remove 区别

Das Entfernen von Knoten auf der Seite ist ein häufiger Vorgang für Entwickler, um dieses Problem zu lösen. Hier schauen wir uns die Methoden „leer“ und „leer“ genauer an , löscht die Methode, unterscheidet sich jedoch ein wenig von delete, da nur alle untergeordneten Knoten im angegebenen Element entfernt werden.

Diese Methode entfernt nicht nur untergeordnete Elemente (und andere untergeordnete Elemente), sondern auch den Text innerhalb des Elements. Denn gemäß den Anweisungen wird jede Textzeichenfolge im Element als untergeordneter Knoten des Elements betrachtet. Bitte schauen Sie sich den folgenden HTML-Code an:


Wenn wir alle Elemente in p mit der leeren Methode entfernen, wird nur der innere HTML-Code gelöscht, aber das Markup bleibt In Das DOM,
<p class="hello"><p>这是p标签</p></p>
Nach dem Login kopieren


//通过empty处理
$(&#39;.hello&#39;).empty()
//结果:<p>这是p标签</p>被移除<p class="hello"></p>
Nach dem Login kopieren
通过empty移除了当前p元素下的所有p元素,但是本身id=test的p元素没有被删除
Nach dem Login kopieren


remove ist dasselbe wie empty, beide Methoden werden zum Entfernen von Elementen verwendet , aber entfernen Dadurch wird das Element selbst sowie alles innerhalb des Elements entfernt, einschließlich gebundener Ereignisse und jQuery-Daten, die sich auf das Element beziehen.
<!DOCTYPE html><html><head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <style>
    p {
        background: #bbffaa;
        width: 300px;
    }
    </style></head><body>
    <h2>通过empty移除元素</h2>
    <p id="test">
        <p>p元素1</p>
        <p>p元素2</p>
    </p>
    <button>点击通过jQuery的empty移除元素</button>
    <script type="text/javascript">
    $("button").on(&#39;click&#39;, function() {        //通过empty移除了当前p元素下的所有p元素
        //但是本身id=test的p元素没有被删除        $("#test").empty()
    })    </script></body></html>
Nach dem Login kopieren

Binden Sie beispielsweise für einen Knoten ein Klickereignis


Es ist tatsächlich sehr einfach, diesen Knoten zu löschen, ohne die Methode zum Entfernen zu verwenden. Gleichzeitig muss das Ereignis jedoch zerstört werden, um „Speicherlecks“ zu verhindern. Daher müssen Front-End-Entwickler darauf achten, wie viele Ereignisse verknüpft sind, und daran denken, es zu zerstören, wenn es nicht verwendet wird
<p class="hello"><p>这是P段落</p></p>$(&#39;.hello&#39;).on("click",fn)
Nach dem Login kopieren

Entfernen Sie p und alle seine internen Elemente über die Remove-Methode. Remove führt automatisch die Ereigniszerstörungsmethode intern aus, daher ist die Verwendung von


remove sehr einfach Ausdrucksparameter:
//通过remove处理
$(&#39;.hello&#39;).remove()
//结果:<p class="hello"><p>这是P段落</p></p> 全部被移除 //节点不存在了,同事事件也会被销毁
Nach dem Login kopieren

Entfernen ist einfacher zu verwenden als leer. Wo Sie einen Selektorausdruck übergeben können, um den Satz übereinstimmender Elemente zu filtern, der entfernt wird, und Sie können den angegebenen Knoten selektiv löschen

Wir Sie können eine Gruppe derselben Elemente über $() auswählen und dann die Filterregeln über Remove() übergeben, um


zu verarbeiten Um bestimmte Elemente zu entfernen, stellt jQuery die beiden Methoden „empty()“ und „remove([ expr])“ zur Verfügung, die beide Elemente löschen, aber es gibt immer noch Unterschiede zwischen den beiden:
<!DOCTYPE html><html><head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
    <style>
    .test1 {
        background: #bbffaa;
    }
    
    .test2 {
        background: yellow;
    }
    </style></head><body>
    <h2>通过jQuery remove方法移除元素</h2>
    <p class="test1">
        <p>p元素1</p>
        <p>p元素2</p>
    </p>
    <p class="test2">
        <p>p元素3</p>
        <p>p元素4</p>
    </p>
    <button>通过点击jQuery的empty移除元素</button>
    <button>通过点击jQuery的empty移除指定元素</button>
    <script type="text/javascript">
    $("button:first").on(&#39;click&#39;, function() {        //删除整个 class=test1的p节点        $(".test1").remove()
    })

    $("button:last").on(&#39;click&#39;, function() {        //找到所有p元素中,包含了3的元素
        //这个也是一个过滤器的处理        $("p").remove(":contains(&#39;3&#39;)")
    })    </script></body></html>
Nach dem Login kopieren

Wenn Sie ein bestimmtes Element entfernen möchten, jQuery bietet empty() und remove([expr]) Zwei Methoden, beide löschen Elemente, aber es gibt immer noch Unterschiede zwischen den beiden

leere Methode

    Genau genommen, Die Methode empty() löscht keine Knoten, sondern löscht den Knoten, der alle untergeordneten Knoten im Element löschen kann
  • empty kann seinen eigenen Knoten nicht löschen
  • Methode entfernen

    Der Knoten und alle im Knoten enthaltenen untergeordneten Knoten werden gleichzeitig gelöscht
  • Vorausgesetzt Übergeben eines Filterausdrucks zum Löschen von Elementen in der angegebenen Sammlung
  • Das Obige ist der Unterschied zwischen den beiden. Lassen Sie uns unser Verständnis durch den Codeteil auf der rechten Seite vertiefen


Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen leer und entfernen beim Löschen von DOM-Knoten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welchen Austausch ist Nexo? Welchen Austausch ist Nexo? Mar 05, 2025 pm 07:39 PM

Nexo: Es ist nicht nur ein Kryptowährungsaustausch, sondern auch Ihr digitaler Finanzmanager. Es ermöglicht Benutzern, Kredite in Kryptowährung als Sicherheiten zu erhalten und Dienstleistungen bereitzustellen, um Zinsen zu verdienen. Während Nexo auch Kryptowährungs -Kauf-, Verkaufs- und Einlösungsfähigkeiten anbietet, ist das Kerngeschäft die Krypto -Kreditvergabe. In diesem Artikel wird das Betriebsmodell und die Sicherheit von Nexo eingehend untersucht, um den Anlegern ein umfassenderes Verständnis zu vermitteln. Das Betriebsmodell von Nexo wurde im Jahr 2018 gegründet und hat seinen Hauptsitz in Zug, Schweiz, und ist ein Pionier auf dem Gebiet der digitalen Finanzen. Es unterscheidet sich von anderen zentralen Börsen und konzentriert sich mehr auf die Bereitstellung umfassender Finanzdienstleistungen. Benutzer können Kryptowährungen kaufen, verkaufen, handeln, ohne Vermögenswerte zu verkaufen und

Gibt es einen Unterschied zwischen südkoreanischer Bitcoin und inländischer Bitcoin? Gibt es einen Unterschied zwischen südkoreanischer Bitcoin und inländischer Bitcoin? Mar 05, 2025 pm 06:51 PM

Der Bitcoin Investment Boom erhitzt sich weiter. Obwohl China einst der größte Markt für Bitcoin war, haben die politischen Auswirkungen zu Transaktionsbeschränkungen geführt. Heute ist Südkorea zu einem der wichtigsten Bitcoin -Märkte der Welt geworden und veranlasst Anleger, die Unterschiede zwischen ihm und seinem inländischen Bitcoin in Frage zu stellen. Dieser Artikel wird eine eingehende Analyse der Unterschiede zwischen den Bitcoin-Märkten der beiden Länder durchführen. Analyse der Unterschiede zwischen Südkorea und China Bitcoin -Märkten. Zum Beispiel war Ende Oktober 2024 der Preis für Bitcoin in Südkorea einst

Der Unterschied zwischen Multithreading und asynchronem C# Der Unterschied zwischen Multithreading und asynchronem C# Apr 03, 2025 pm 02:57 PM

Der Unterschied zwischen Multithreading und Asynchron besteht darin, dass Multithreading gleichzeitig mehrere Threads ausführt, während asynchron Operationen ausführt, ohne den aktuellen Thread zu blockieren. Multithreading wird für rechenintensive Aufgaben verwendet, während asynchron für die Benutzerinteraktion verwendet wird. Der Vorteil des Multi-Threading besteht darin, die Rechenleistung zu verbessern, während der Vorteil von Asynchron nicht darin besteht, UI-Threads zu blockieren. Die Auswahl von Multithreading oder Asynchron ist von der Art der Aufgabe abhängt: Berechnungsintensive Aufgaben verwenden Multithreading, Aufgaben, die mit externen Ressourcen interagieren und die UI-Reaktionsfähigkeit asynchron verwenden müssen.

Der Unterschied zwischen Ether und Bitcoin, was ist der Unterschied zwischen Ether und Bitcoin Der Unterschied zwischen Ether und Bitcoin, was ist der Unterschied zwischen Ether und Bitcoin Mar 19, 2025 pm 04:54 PM

Der Unterschied zwischen Ethereum und Bitcoin ist signifikant. Technisch gesehen verwendet Bitcoin POW, und Ether hat sich von POW nach POS verlagert. Die Handelsgeschwindigkeit ist für Bitcoin langsam und Ethereum ist schnell. In Anwendungsszenarien konzentriert sich Bitcoin auf den Zahlungsspeicher, während Ether intelligente Verträge und DApps unterstützt. In Bezug auf die Ausgabe beträgt der Gesamtbetrag von Bitcoin 21 Millionen und es gibt keine feste Gesamtmenge an Ethermünzen. Jede Sicherheitsherausforderung ist verfügbar. In Bezug auf den Marktwert ist Bitcoin an erster Stelle, und die Preisschwankungen beider sind groß, aber aufgrund unterschiedlicher Merkmale ist der Preistrend von Ethereum einzigartig.

Was ist die Funktion der C -Sprachsumme? Was ist die Funktion der C -Sprachsumme? Apr 03, 2025 pm 02:21 PM

Es gibt keine integrierte Summenfunktion in der C-Sprache, daher muss sie selbst geschrieben werden. Die Summe kann erreicht werden, indem das Array durchquert und Elemente akkumulieren: Schleifenversion: Die Summe wird für die Schleifen- und Arraylänge berechnet. Zeigerversion: Verwenden Sie Zeiger, um auf Array-Elemente zu verweisen, und eine effiziente Summierung wird durch Selbststillstandszeiger erzielt. Dynamisch Array -Array -Version zuweisen: Zuordnen Sie Arrays dynamisch und verwalten Sie selbst den Speicher selbst, um sicherzustellen, dass der zugewiesene Speicher befreit wird, um Speicherlecks zu verhindern.

Was ist der Unterschied zwischen Bohnenbrot und Deepseek Was ist der Unterschied zwischen Bohnenbrot und Deepseek Mar 12, 2025 pm 01:24 PM

Der Kernunterschied zwischen Bohnenbrötchen und Deepseek ist die Genauigkeit und Komplexität der Wiederholung. 1. Doubao basiert auf dem Schlüsselwort, einfach und direkt, mit geringen Kosten, aber geringer Genauigkeit und ist nur für strukturierte Daten geeignet. Die endgültige Auswahl hängt vom Anwendungsszenario und den Ressourcenbeschränkungen ab.

Krypto -Investitionsmentalität ist sehr wichtig! Wie vermeiden Sie unnötige Sorgen und treffen Sie korrekte Entscheidungen? Krypto -Investitionsmentalität ist sehr wichtig! Wie vermeiden Sie unnötige Sorgen und treffen Sie korrekte Entscheidungen? Mar 05, 2025 pm 07:24 PM

Angst, Unsicherheit und Zweifel an Kryptoinvestitionen: Wie kann er fundierte Entscheidungen treffen? Viele Kryptoinvestoren stehen vor Angst vor „Dies ist der letzte Zyklus“ sowie Bedenken hinsichtlich der Dauer des Bullenmarktes sowie dem Druck anderer, was zusammen zu schlechten Investitionsentscheidungen führt. In diesem Artikel wird untersucht, wie diese Herausforderungen überwunden und intelligentere Investitionsentscheidungen treffen können. Potenzielles Risiko: Ablenkung: Verjüngen Sie blind und ignorieren Sie den Wert von Kernvermögen. Pessimismus und Zögern: Unsicherheit führt zu mangelndem Vertrauen, der Unfähigkeit, lange Zeit zu halten und sogar aus dem Markt zu verlassen. Mangel an Glauben: Mangel an eingehenden Forschungen zu Projekten und kann nicht mit der Marktvolatilität fertig werden. Mangelnde Gewinnstrategien: Positionen aus Angst vor Rückziehungen frühzeitig und fehlende potenzielle Renditen vorzeitig. Bewältigungsstrategien: 1. Fokus auf Kernbereiche:

Der Unterschied zwischen char und wchar_t in der C -Sprache Der Unterschied zwischen char und wchar_t in der C -Sprache Apr 03, 2025 pm 03:09 PM

In der C -Sprache ist der Hauptunterschied zwischen char und wchar_t die Zeichencodierung: char verwendet ASCII oder erweitert ASCII, wchar_t Unicode; char nimmt 1-2 Bytes auf, wchar_t nimmt 2-4 Bytes auf; char ist für englischen Text geeignet. Wchar_t ist für mehrsprachige Text geeignet. char ist weithin unterstützt, wchar_t hängt davon ab, ob der Compiler und das Betriebssystem Unicode unterstützen. char ist in der Charakterbereich begrenzt, WCHAR_T hat einen größeren Charakterbereich und spezielle Funktionen werden für arithmetische Operationen verwendet.

See all articles