verschachtelte Objekte ansprechen mit jQuery

LeMarkus

Mitglied
Hi,
ich habe eine allgemeine Frage zum ansprechen von Objekten mit jQuery. Angenommen wir haben folgenden Aufbau
Code:
<div id="container">
	<div id="ausgangsdiv"></div>
	<div id="ziel1">
                 <div id="ziel2"></div>
        </div>
	<div id="ziel3">
		<div id="ziel4"></div>
	</div>
</div>

Wir gehen in meinen Fall immer davon aus, dass <div id="ausgangsdiv"></div> unser klickbares div darstellt.

Frage 1) Das Ziel1 spreche ich mit Hilfe der next() Funtion einfach an. Ich habe durch ausprobieren herausgefunden, dass man Ziel3 ansprechen kann indem man next() doppelt hinschreibt:

Code:
$("div#ausgangsdiv").click(function() {
	$(this).next().next().fadeOut(200);
});
Ist das die richtige Vorgehensweise oder gibts da etwas besseres als diese Lösung?

Frage 2) Wie spreche ich Ziel2 an und wie spreche ich Ziel3 an? Da habe ich noch keine Lösung gefunden. Ist das möglich wenn man Ausgangsdiv als Klickobjekt heranzieht?
 
Hi,
warum nicht einfach mit
Code:
$("div#ausgangsdiv").click(function() {
    $("#ziel2").fadeOut(200);
});
?

Für soetwas - unter anderem - gibt es ja die eindeutigen IDs....


Für den Fall das keine .class oder ID Selektoren funktionieren, gibt es in andere sinnvolle Selektoren: http://api.jquery.com/category/selectors/

lg
michi
 
Danke, aber die ids dienen hier lediglich zur Demonstartion. In Echt kann man weder direkt Klassen noch Ids ansprechen und es muss relativ zum geklicken div gelöst werden.
Am Meisten interessiert mich wie man relativ Ziel2 ansprechen kann. Also ein div innerhalb des benachbarten divs. Geht das überhaupt oder geht das nur relativ.

Welchen der "sinnvollen" trifft auf meinen Fall zu?
 
Ich denke das doppelte "next()" geht in Ordnung. An ziel2 kommst du folgendermaßen

Javascript:
$("#ausgangsdiv").click(function() {
	$(this).next().children(":first").fadeOut(200);
});
 
Zurück