Mit CSS ein bestimmtes Elternelement ansprechen?

Codebeispiel - (HTML, CSS, Webdesign)

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Ich kenne keine Möglichkeit das mit purem CSS zu machen.

Als erstes kommt mir da die parent()-Methode von Jquery in den Sinn.


verreisterNutzer  12.08.2016, 22:35

Okay danke! Kannst du mir das noch erklären? :)

pythonpups  12.08.2016, 22:50
@verreisterNutzer

Und noch kurz zur Erklärung: JQ ist eine Javascript-Bibliothek, die neue Funktionen zu Javascript hinzufügt. Du kannst mit CSS-Selektoren Elemente ansprechen und dann... Dinge damit tun. ;) Hier würdest Du das Elemet mit der ID "ich" selektieren ($("#ich")), sein Elternelement raussuchen lassen (.parent()) und dann z.B. eine CSS-Eigenschaft darauf anwenden. Wenn man sich nicht vor ein wenig Javascript scheut ist JQ das praktischste seit der Erfindung von geschnittenem Brot.

TanteHolger  12.08.2016, 22:50
@pythonpups

Dafür warst Du mit der Methode schneller. Ich hätts mal wieder auf dem komplizierten Weg mit zig Schleifen geregelt :D

medmonk  12.08.2016, 23:03
@pythonpups

Hier würdest Du das Elemet mit der ID "ich" selektieren ($("#ich")), sein Elternelement raussuchen lassen (.parent()) und dann z.B. eine CSS-Eigenschaft darauf anwenden. 

Wenn man gescheit ist, man lediglich das .addClass() Attribut verwendet und die Formatierung im CSS notiert. So bleibt alles sauber getrennt und im gleichen Zug übersichtlicher bleibt. Was jQuery angeht, man alles nötige in der Dokumention findet. 


Ein parent selector ist erst noch in der Mache. Wird also noch ein paar Jahre dauern.

Ansonsten schließe ich mich meinen Vorrednern an. Am einfachsten ist es mit jQuery.
z.B. Click Event mit dem Child, darin das Parent.

Dazu benötigst Du Javascript. Mit jQuery würde das denke mal am einfachsten gehen.


TanteHolger  12.08.2016, 22:37

Hier ein Beispiel (Pseudo) als kleiner Denkanstoss. Kann grad nicht testen, sollte aber funktionieren =) Du solltest das ganze dann mit einer Schleife abarbeiten wenn es mehrere Elemente mit der Klasse gruppe gibt.

if($('.gruppe').children().length >0)