Einführung
In diesem Lab werden wir untersuchen, wie man mit JavaScript alle Vorfahren eines Elements von der Dokumentenwurzel bis zum angegebenen Element abruft. Dazu wird Node.parentNode und eine while-Schleife verwendet werden, um den Vorfahrenbaum hinauf zu navigieren, und Array.prototype.unshift() wird verwendet, um jeden neuen Vorfahren am Anfang eines Arrays hinzuzufügen. Am Ende des Labs sollten Sie eine solide Vorstellung davon haben, wie man Elementvorgänger mit JavaScript abruft.
Elementvorgänger abrufen
Um die Vorgänger eines Elements von der Dokumentenwurzel bis zum angegebenen Element abzurufen, führen Sie die folgenden Schritte aus:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie
Node.parentNodeund einewhile-Schleife, um den Vorgängerbaum des Elements hinauf zu bewegen. - Verwenden Sie
Array.prototype.unshift(), um jeden neuen Vorgänger am Anfang des Arrays hinzuzufügen.
Hier ist ein Beispielcode, der die obigen Schritte implementiert:
const getAncestors = (el) => {
let ancestors = [];
while (el) {
ancestors.unshift(el);
el = el.parentNode;
}
return ancestors;
};
Um die Vorgänger eines bestimmten Elements abzurufen, verwenden Sie die querySelector()-Methode, um das Element auszuwählen und es als Argument an die getAncestors()-Funktion zu übergeben. Beispiel:
getAncestors(document.querySelector("nav"));
// [document, html, body, header, nav]
Dies wird ein Array aller Vorgänger des angegebenen Elements in der Reihenfolge von der Dokumentenwurzel bis zum Element selbst zurückgeben.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Get Element Ancestors" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.