Heim  >  Artikel  >  Web-Frontend  >  Detaillierte Erläuterung der JS-Zugriffsmethode für den DOM-Knoten

Detaillierte Erläuterung der JS-Zugriffsmethode für den DOM-Knoten

高洛峰
高洛峰Original
2016-12-03 15:52:011073Durchsuche

Das Beispiel in diesem Artikel beschreibt die JS-Methode für den Zugriff auf DOM-Knoten. Geben Sie es wie folgt als Referenz für alle frei:

Knoten suchen und darauf zugreifen

Sie können das Element, das Sie bedienen möchten, auf verschiedene Weise finden:

Mit getElementById( ) und getElementsByTagName()-Methoden

unter Verwendung der Eigenschaften parentNode, firstChild und lastChild eines Elementknotens

getElementById() und getElementsByTagName()

getElementById() und getElementsByTagName( ) Diese beiden Methoden können jedes HTML-Element im gesamten HTML-Dokument finden.

Diese beiden Methoden ignorieren die Struktur des Dokuments. Wenn Sie alle e388a4556c0f65e1904146cc1a846bee-Elemente im Dokument finden möchten, findet getElementsByTagName() sie alle, unabhängig davon, wo sich das e388a4556c0f65e1904146cc1a846bee-Element befindet. Außerdem gibt die Methode getElementById() das richtige Element zurück, unabhängig davon, wo es in der Dokumentstruktur versteckt ist.

Mit diesen beiden Methoden erhalten Sie alle benötigten HTML-Elemente, unabhängig davon, wo sie sich im Dokument befinden!

getElementById() kann Elemente mit der angegebenen ID zurückgeben:

getElementById() Syntax

document.getElementById("ID");

Kommentare: getElementById() funktioniert nicht in XML. In einem XML-Dokument müssen Sie nach einem Attribut vom Typ „id“ suchen, das in der XML-DTD deklariert werden muss.

Die Methode getElementsByTagName() gibt alle Elemente (als Liste von Knoten) zurück, die Nachkommen des Elements sind, das Sie verwenden, wenn Sie diese Methode verwenden, und zwar unter Verwendung des angegebenen Tag-Namens.

getElementsByTagName() kann für jedes HTML-Element verwendet werden:

getElementsByTagName() Syntax

document.getElementsByTagName("标签名称");

oder:

document.getElementById('ID').getElementsByTagName("标签名称");

Beispiel 1

Das folgende Beispiel gibt eine Knotenliste aller e388a4556c0f65e1904146cc1a846bee-Elemente im Dokument zurück:

document.getElementsByTagName("p");

Beispiel 2

Das folgende Beispiel gibt eine Knotenliste aller e388a4556c0f65e1904146cc1a846bee-Elemente zurück Muss ein Nachkomme des Elements mit der ID „maindiv“ sein:

document.getElementById('maindiv').getElementsByTagName("p");

Knotenliste (nodeList)

Wenn wir eine Knotenliste verwenden , normalerweise wird diese Liste in einer Variablen gespeichert, etwa so:

var x=document.getElementsByTagName("p");

Die Variable x enthält nun alle e388a4556c0f65e1904146cc1a846bee und wir können auf diese e388a4556c0f65e1904146cc1a846bee-Elemente über ihre Indexnummern zugreifen.

Hinweis: Indexnummern beginnen bei 0.

Sie können die Knotenliste mithilfe des Längenattributs durchlaufen:

var x=document.getElementsByTagName("p");
for (var i=0;i

Sie können auch über die Indexnummer auf einen bestimmten Knoten zugreifen Elemente.

Um auf das dritte e388a4556c0f65e1904146cc1a846bee-Element zuzugreifen, können Sie Folgendes schreiben:

var y=x[2];

parentNode, firstChild und lastChild

Diese drei Attribute parentNode, firstChild und lastChild können der Struktur des Dokuments folgen und im Dokument eine „Kurzstreckenfahrt“ durchführen.

Bitte schauen Sie sich den folgenden HTML-Ausschnitt an:

<table>
 <tr>
  <td>John</td>
  <td>Doe</td>
  <td>Alaska</td>
 </tr>
</table>

Im obigen HTML-Code ist das erste b6c5a531a458a2e790c1fd6421739d1c tr> ist das erste untergeordnete Element (firstChild) des Elements und das letzte b6c5a531a458a2e790c1fd6421739d1c ist das letzte untergeordnete Element (lastChild) des a34de1251f0d9fe1e645927f19a896e8

Außerdem ist a34de1251f0d9fe1e645927f19a896e8 der übergeordnete Knoten (parentNode) jedes b6c5a531a458a2e790c1fd6421739d1c


Stellungnahme:
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