moderne Webanwendungen beinhalten häufig komplexe, markup-reiche HTML. Bibliotheken wie JQuery vereinfachen DOM Manipulation und bieten Cross-Browser-Kompatibilität und eine breite Palette von Funktionen an. Native DOM -APIs sind jedoch im Vergleich zu vor einigen Jahren erheblich verbessert, was sie in vielen Fällen zu einer praktikablen Alternative macht. In diesem Artikel werden wichtige DOM -Funktionen für die Manipulation von HTML untersucht und sich auf Eltern-, Kind- und Geschwisterknotenbeziehungen konzentrieren. Während JQuery aufgrund historischer Inkonsistenzen eine beliebte Wahl bleibt, ist das Verständnis der nativen DOM -Methoden für die effiziente Entwicklung von entscheidender Bedeutung.
Schlüsselkonzepte:
<ul>children
und childElementCount
effizient zählen Sie die Elemente der childNodes.length
und hasChildNodes()
appendChild()
removeChild()
addieren oder repositionieren Sie Elemente mit ChildNode.remove()
und entfernen Sie sie mit replaceChild()
firstElementChild
lastElementChild
Zielspezifische Kinder mit nextElementSibling
, previousElementSibling
, </p> Zählen Sie untergeordnete Knoten:
<ul id="myList"> <li>Example one</li> <li>Example two</li> <li>Example three</li> <li>Example four</li> <li>Example five</li> <li>Example six</li> </ul>
<ul>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>var myList = document.getElementById('myList');
console.log(myList.children.length); // 6
console.log(myList.childElementCount); // 6</pre><div class="contentsignin">Nach dem Login kopieren</div></div>
: zu zählen
children.length
childElementCount
childElementCount
und childNodes.length
ergeben das gleiche Ergebnis (6). </p> wird oft für seine Klarheit bevorzugt. Die Verwendung von
würde eine höhere Zahl zurückgeben, da sie alle Knotentypen einschließlich Whitespace enthält. </p> nach untergeordneten Knoten:
hasChildNodes()
console.log(myList.hasChildNodes()); // true
<ul>
true
sogar ein leeres
mit Whitespace gibt <ul>
false
zurück. Nur ein vollständig leerer </p>
(kein weißespace) wird
. zurückgegeben </p> Hinzufügen und Entfernen von Elementen:
appendChild()
<ul>
</p> fügt neue oder vorhandene Elemente hinzu. Zum Beispiel das Verschieben des <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>// ... (Assuming a containing div with id "container") ...
var myList = document.getElementById('myList');
document.getElementById('container').appendChild(myList);</pre><div class="contentsignin">Nach dem Login kopieren</div></div>
:
removeChild()
ChildNode.remove()
</p> entfernt einen Kinderknoten.
bietet eine prägnantere Alternative (nicht bei älteren IE unterstützt). </p> Ersetzen von Elementen:
replaceChild()
var myPar = document.getElementById('par'), myDiv = document.createElement('div'); myDiv.textContent = 'New element'; document.body.replaceChild(myDiv, myPar);
<p id="par"></p>
<div> Dies ersetzt das durch das neue . <p> <strong> Ziele spezifische Kinder abzielen: </strong> </p>
<p> <code>firstElementChild
, lastElementChild
, nextElementSibling
und previousElementSibling
Ermöglichen Sie eine genaue Targeting spezifischer Kinder.
Inhaltsinhalt:
insertBefore()
fügt ein Element vor einem angegebenen Geschwister ein. insertAdjacentHTML()
bietet eine genauere Kontrolle über Insertionspunkte (beforebegin
, afterbegin
, beforeend
, afterend
).
Browser -Unterstützung:
Die meisten Methoden haben einen hervorragenden Browserunterstützung, einschließlich älterer IE -Versionen. ChildNode.remove()
fehlt die Unterstützung bei älteren dh
Schlussfolgerung:
Während JQuery DOM -Manipulation vereinfacht, ist das Verständnis der nativen DOM -APIs für eine effiziente und moderne Webentwicklung von wesentlicher Bedeutung. Gründliche Tests sind entscheidend, um potenzielle Browser -Inkonsistenzen zu berücksichtigen.
Das obige ist der detaillierte Inhalt vonDOM -Tipps und -techniken: Eltern, Kind und Geschwister. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!