Heim > Web-Frontend > js-Tutorial > Hauptteil

Hier sind einige englische Frage-und-Antwort-Fragentitel, die zum Inhalt Ihres Artikels passen: Prägnanterer Titel: * Was ist der Unterschied zwischen HTMLCollections, NodeLists und Arrays von Objekten im DOM? * DOM-Sammlungen: HTMLCollections, NodeLists und Arrays – Was ist los?

Mary-Kate Olsen
Freigeben: 2024-10-31 21:53:02
Original
256 Leute haben es durchsucht

以下是一些符合您文章内容的英文问答类问题标题:

更简洁的标题:

*  What's the Difference Between HTMLCollections, NodeLists, and Arrays of Objects in the DOM?
*  DOM Collections: HTMLCollections, NodeLists, and Arrays - What's the Difference? 
*  HTMLCollections, NodeLists, and DOM

Die Unterschiede zwischen HTMLCollections, NodeLists und Arrays von Objekten im DOM verstehen

Bei der Arbeit mit dem DOM kommen drei wichtige Arten von Sammlungen ins Spiel: HTMLCollections, NodeLists und Arrays von Objekten. Jede dieser Sammlungen dient einem bestimmten Zweck und hat ihre eigenen einzigartigen Eigenschaften.

HTMLCollections vs. NodeLists

HTMLCollections stellen Sammlungen von HTML-Elementen dar, die einem bestimmten Tag-Namen entsprechen. Sie werden von der Methode getElementsByTagName() des Document-Objekts zurückgegeben. HTMLCollections sind live, was bedeutet, dass sie automatisch alle am DOM vorgenommenen Änderungen widerspiegeln. Sie bieten auch direkten Zugriff auf einzelne Elemente nach Index.

NodeLists hingegen sind Sammlungen aller Arten von Knoten (einschließlich HTML-Elementen, Textknoten und Kommentaren). Sie werden von verschiedenen DOM-Methoden zurückgegeben, beispielsweise querySelectorAll() und childNodes(). NodeLists sind statisch, was bedeutet, dass sie keine Änderungen im DOM widerspiegeln, es sei denn, sie werden explizit aktualisiert.

jQuery-Objekte im Vergleich zu HTMLCollections und NodeLists

jQuery-Objekte stehen nicht in direktem Zusammenhang mit HTMLCollections oder NodeLists. jQuery-Objekte sind JavaScript-Objekte, die DOM-Auswahlen kapseln. Sie bieten eine praktische Schnittstelle zum Bearbeiten von DOM-Elementen und zum Erweitern ihrer Funktionalität mithilfe der umfangreichen API von jQuery.

jQuery-Auswahlen können Elemente, Textknoten oder jeden anderen Knotentyp umfassen. Wie NodeLists sind jQuery-Auswahlen statisch. Sie können jedoch mit der Methode $(...).live() von jQuery in Live-HTMLCollections konvertiert werden.

JavaScript-Arrays und -Sammlungen

Zusätzlich zu HTMLCollections und NodeLists können Sie auch erstellen Arrays von Objekten in JavaScript. Beispielsweise können Sie DOM-Elemente wie folgt in einem Array speichern:

<code class="javascript">const elements = [document.getElementById("myElement1"), document.getElementById("myElement2")];</code>
Nach dem Login kopieren

Arrays in JavaScript sind dynamisch und spiegeln keine am DOM vorgenommenen Änderungen wider. Sie bieten auch keinen Zugriff auf bestimmte Methoden wie HTMLCollections oder jQuery-Objekte.

Beispiel und Demonstration

Das folgende Skript zeigt die wichtigsten Unterschiede zwischen diesen Sammlungstypen:

<code class="javascript">$(function(){
    console.log('[123,&quot;abc&quot;,321,&quot;cba&quot;]=',[123,&quot;abc&quot;,321,&quot;cba&quot;]);
    console.log('{123:123,abc:&quot;abc&quot;,321:321,cba:&quot;cba&quot;}=',{123:123,abc:&quot;abc&quot;,321:321,cba:&quot;cba&quot;});
    console.log('Node=',Node);
    console.log('document.links=',document.links);
    console.log('document.getElementById(&quot;myTable&quot;)=',document.getElementById(&quot;myTable&quot;));
    console.log('document.getElementsByClassName(&quot;myRow&quot;)=',document.getElementsByClassName(&quot;myRow&quot;))
    console.log('document.getElementsByTagName(&quot;td&quot;)=',document.getElementsByTagName(&quot;td&quot;));
    console.log('$(&quot;#myTable&quot;)=',$(&quot;#myTable&quot;));
    console.log('$(&quot;td&quot;)=',$(&quot;td&quot;));
});</code>
Nach dem Login kopieren

Dieses Skript protokolliert die folgende Ausgabe:

[123,"abc",321,"cba"]=[123, "abc", 321, "cba"]
{123:123,abc:"abc",321:321,cba:"cba"}=Object { 123=123, abc="abc", 321=321, more...}
Node= undefined
document.links= HTMLCollection[a #, a #]
document.getElementById("myTable")= <table>
document.getElementsByClassName("myRow")= HTMLCollection[tr.myRow, tr.myRow]
document.getElementsByTagName("td")= HTMLCollection[td, td, td, td]
jQuery("#myTable")= [table#myTable]
jQuery("td")= [td, td, td, td]
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonHier sind einige englische Frage-und-Antwort-Fragentitel, die zum Inhalt Ihres Artikels passen: Prägnanterer Titel: * Was ist der Unterschied zwischen HTMLCollections, NodeLists und Arrays von Objekten im DOM? * DOM-Sammlungen: HTMLCollections, NodeLists und Arrays – Was ist los?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
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!