Frage von jan0510, 41

Mit CSS ein bestimmtes Elternelement ansprechen?

Hallo!

Ich möchte, dass das Element div.gruppe nur dann einen Hintergrund erhält, wenn es ein span#ich beinhaltet. Geht das mit CSS und HTML?

Also ich möchte das Elternelement nur bei einem bestimmten Kindelement selektieren. Was wäre der richtige Selektor?

LG Jan

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von pythonpups, 33

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

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

Kommentar von jan0510 ,

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

Kommentar von TanteHolger ,

Versuch es so.

$("#ich").parent().css("background-color", "#000");
Kommentar von pythonpups ,

Wollte ich auch grade sagen. Warst Du schneller. ;-)

Kommentar von pythonpups ,

Als erstes mußt Du allerdings JQuery einbinden. Packe folgendes in Deinen Head:

<script
  src="https://code.jquery.com/jquery-2.2.4.min.js"
  integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
  crossorigin="anonymous"></script>
Kommentar von TanteHolger ,

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

Kommentar von pythonpups ,

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.

Kommentar von medmonk ,

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. 


Antwort
von abbrechen, 13

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.

Antwort
von TanteHolger, 24

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

Kommentar von TanteHolger ,

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)

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten