# verschachtelte Objekte ansprechen mit jQuery



## LeMarkus (24. November 2010)

Hi,
ich habe eine allgemeine Frage zum ansprechen von Objekten mit jQuery. Angenommen wir haben folgenden Aufbau

```
<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:


```
$("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?


----------



## mgraf (24. November 2010)

Hi,
warum nicht einfach mit

```
$("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


----------



## LeMarkus (24. November 2010)

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?


----------



## CPoly (24. November 2010)

Ich denke das doppelte "next()" geht in Ordnung. An ziel2 kommst du folgendermaßen


```
$("#ausgangsdiv").click(function() {
	$(this).next().children(":first").fadeOut(200);
});
```


----------

