2010-11-30 13 views
1

Ich habe ehrlich versucht, vor der Buchung zu tun, konnte aber nicht etwas bestimmtes finden. Also meine Aufgabe ist es, versteckte Inhalte im Blog anzuzeigen, wenn der Benutzer auf den Link klickt. HTML sieht wie folgt aus:Wie bekomme ich das nächste nicht Kind Element

<div class="entry"> 
<p>Here is a visible content <a class="a-toggle"> Read More...</a></p> 
<div class="hidden_post"><p>Here is all the hidden content</p></div> 
</div> 

Jetzt jQuery Ich mache folgendes aber es funktioniert nicht:

$(".hidden_post").hide(); 
$(".a-toggle).click(function() { 
$(this).next(".hidden_post").slideDown("slow"); }); 

Also das nächste Element bekommen ich an ein übergeordnetes Element gehen, müssen zuerst und dann Suche von dort fortfahren. Jetzt wird es komplizierter für mich, denn ich werde tatsächlich mehrere versteckte Inhalte in einem "Eintrag" haben. Wie folgt aus:

<div class="entry"> 
<p>Here is a visible content <a class="a-toggle"> Read More...</a></p> 
<div class="hidden_post"><p>Here is hidden content #1</p></div> 
<p>Here is a visible content <a class="a-toggle"> Read More...</a></p> 
<div class="hidden_post"><p>Here is hidden content #2</p></div> 
<p>Here is a visible content <a class="a-toggle"> Read More...</a></p> 
<div class="hidden_post"><p>Here is hidden content #3</p></div> 
</div> 

Nun, wenn ich $(this).parent().next(".hidden_post").slideDown("slow"); Es geht bis zu „Eintrag“ div und dann finden erste „hidden_post“ nur. Ich denke, Ich brauche noch eine andere Lösung, um direkt vonzu <div class="hidden_post">, die neben ihm ist zu gehen. Gibt es eine Lösung?

Antwort

3

könnten Sie parent() verwenden:

$(".hidden_post").hide(); 
$(".a-toggle").click(function() { 
    $(this).parent().next(".hidden_post").slideDown("slow"); 
}); 
+0

Danke Jacob, es gibt noch einige Probleme, die ich in der Antwort unten beschrieben habe. – Samuel

0

Der schnellste Weg in diesem Fall Elternteil zu tun wäre -> nächste

$(".a-toggle").click(function(){ 
$(this).parent().next(".hidden_post").slideDown("slow"); 
}); 
+0

Danke TJB, es gibt noch einige Probleme, die ich in der Antwort unten beschrieben habe. – Samuel

0

Sie konnten die Kinder Methode verwenden, um alle direkten Kinder die bekommen Elternelement

Dies wird alle div Kinder des div mit Klasse des Eintrags zurückgeben, die eine Klasse von hidden_post haben.

Verwandte Themen