Heim > Artikel > Web-Frontend > Der Unterschied zwischen leer und entfernen beim Löschen von DOM-Knoten
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:
<p class="hello"><p>这是p标签</p></p>
//通过empty处理 $('.hello').empty() //结果:<p>这是p标签</p>被移除<p class="hello"></p>
通过empty移除了当前p元素下的所有p元素,但是本身id=test的p元素没有被删除
<!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('click', function() { //通过empty移除了当前p元素下的所有p元素 //但是本身id=test的p元素没有被删除 $("#test").empty() }) </script></body></html>
Binden Sie beispielsweise für einen Knoten ein Klickereignis
<p class="hello"><p>这是P段落</p></p>$('.hello').on("click",fn)
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处理 $('.hello').remove() //结果:<p class="hello"><p>这是P段落</p></p> 全部被移除 //节点不存在了,同事事件也会被销毁
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
<!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('click', function() { //删除整个 class=test1的p节点 $(".test1").remove() }) $("button:last").on('click', function() { //找到所有p元素中,包含了3的元素 //这个也是一个过滤器的处理 $("p").remove(":contains('3')") }) </script></body></html>
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
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!