Bitte schauen Sie sich dieses HTML-Codebeispiel an:
%Vor% Wie Sie sehen können, hat das img-Tag zwei einschließende divs. Ich möchte, dass das erste dieser zwei einschließenden divs als das "echte" Elternteil (das ich finden muss) des img-Tags betrachtet wird, weil es einen Bruder div vor hat, sodass die Suche endet und der Bruder div und das äußere einschließende div sind ignoriert.
Ich möchte nur wissen, wie man den Vater eines Elements bekommt, wie ich es mit JavaScript-Code erklärt habe.
Hinweis: Für den Fall, dass keine Geschwister vorhanden sind, muss das äußere div angegeben werden. Wenn das Element nicht eingeschlossen ist, muss das Element selbst zurückgegeben werden.
Es klingt also so, als ob Sie den ersten Vorfahren haben wollen, der Geschwisterelemente hat. Wenn ja, kannst du es so machen:
%Vor% Oder vielleicht besser als do-while
loop geschrieben:
Also wird die Schleife enden, wenn sie eine mit mindestens einem Geschwisterelement findet oder wenn sie keine Vorfahren mehr hat.
Wenn Sie wissen, ob das Geschwister vor oder nach dem Elternteil kommt, können Sie einfach nach dem einen oder dem anderen suchen.
Beachten Sie auch, dass Sie eine Unterlegscheibe für die ***ElementSibling
-Eigenschaften benötigen, wenn Sie ältere Browser unterstützen.
Sie können eine Funktion erstellen, die dies tut:
%Vor%Dann benutze die Funktionen wie folgt:
%Vor% Wenn Sie nicht wissen, wie viele Ebenen das übergeordnete Element ist, wird es schwierig sein, es mit Methoden wie element.getParent
allein auszuwählen. Sie können jedoch über Elternknoten iterieren, bis der Knoten, den Sie betrachten, Geschwister aufweist und das untergeordnete Element eines body
-Elements ist. Angenommen, Ihr img
-Tag wird mit imgNode
bezeichnet.
Im obigen Code durchlaufen wir schrittweise die Eltern des Bildknotens. Bei jeder Iteration prüfen wir, ob der aktuelle Knoten (ein Elternteil des Knotens img
) ein Geschwister hat und das Kind eines body
-Tags ist.
Falls Sie neugierig sind, können Sie hier die Empfehlung von user1689607 mit jQuery .
%Vor%Ob es sinnvoll ist, diese Bibliothek für Ihre Zwecke zu verwenden, hängt von vielen Kontexten ab, die wir nicht haben. Wie andere zu Recht angemerkt haben, brauchen Sie jQuery nicht, um dieses Problem zu lösen, und es könnte eine unnötig schwergewichtige Lösung sein. Allerdings kann es eine sehr nützliche Bibliothek sein und ist sicherlich Ihre Überlegung wert, wenn Sie sich dessen nicht bewusst waren oder sich nicht bereits damit beschäftigt haben.
Tags und Links javascript dom