You are not logged in.

  • Login

1

Sunday, October 23rd 2011, 11:44am

Jquery next(div)

Ich habe folgenden HTML-Code:

HTML Code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<ul>
<li>
					<span class="jpg img"></span> 
					<span class="showdetails" style="width:250px;display:inline-block;font-weight:900;cursor: pointer;">2011-09-24 65.Geburt.jpg</span>
					<span class="date img"></span> 23. Oktober 2011, 11:05:26
					<span class="autor img"></span> sebastian 
 
					<div class="details" style="display:block;width:90%;padding:10px;background-color:#dfdfdf;margin:20px;display:none;">
						dsasadsdsad
					</div>
				</li><li>
					<span class="jpg img"></span> 
					<span class="showdetails" style="width:250px;display:inline-block;font-weight:900;cursor: pointer;">2011-09-24 65.Geburt.jpg</span>
					<span class="date img"></span> 23. Oktober 2011, 11:05:26
					<span class="autor img"></span> sebastian 
 
					<div class="details" style="display:block;width:90%;padding:10px;background-color:#dfdfdf;margin:20px;display:none;">
						dsasadsdsad
					</div>
				</li><li>
					<span class="gif img"></span> 
					<span class="showdetails" style="width:250px;display:inline-block;font-weight:900;cursor: pointer;">app_2_23760562627892.gif</span>
					<span class="date img"></span> 23. Oktober 2011, 11:05:26
					<span class="autor img"></span> sebastian 
 
					<div class="details" style="display:block;width:90%;padding:10px;background-color:#dfdfdf;margin:20px;display:none;">
						dsasadsdsad
					</div>
				</li>
</ul>


Ich möchte nun bei einem Click auf .showdetails .details einsliden lassen:

JavaScript Code

1
2
3
$('.showdetails').click(function(e){
				$(this).next('div').slideToggle('slow');
			});


Aber es funktioniert nicht. Wenn ich aber drei next() setzen, klappt es. Dies ist aber eine unschöne Lösung.

Jemand eine Idee?

2

Monday, October 24th 2011, 8:24am

hi, Ich kann es leider nicht testen.

versuchs mal mit closest.

JavaScript Code

1
2
3
$('.showdetails').click(function(e){
				$(this).closest('div').slideToggle('slow');
			});


Alternativ

JavaScript Code

1
2
3
$('.showdetails').click(function(e){
				$(this).parent().next('div').slideToggle('slow');
			});


oder

JavaScript Code

1
2
3
$('.showdetails').click(function(e){
				$(this).nextAll('div:first').slideToggle('slow');
			});

3

Wednesday, October 26th 2011, 3:56pm

Closet spricht den Body-Tag an. Irgendwie. Habe mich für $(this).nextAll('div:first') entschieden. Vielen Dank!

Social bookmarks