Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
jQuery - next() i rozwijanie w listach - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: jQuery - next() i rozwijanie w listach (/thread-jquery-next-i-rozwijanie-w-listach)



jQuery - next() i rozwijanie w listach - lukasamd - 20-11-2009

Witam,
mam na stronię nawigację złożoną z linków oraz rozwijanych divów z dalszymi linkami, do tej pory wyglądało to tak jeżeli chodzi o javascript:

Kod:
$("a.rozwin").toggle(function(){
    $(this).next(".rozwijanie").show("medium");
  },function(){
    $(this).next(".rozwijanie").hide("medium");  
  });

oraz HTML:

Kod:
<a href="#" class="rozwin">Link rozwijajacy</a>
<div class="rozwijanie">
  <a href="link 1" class="blockin">Link 1</a>
  <a href="link 2" class="blockin">Link 2</a>
  <a href="link 3" class="blockin">Link 3</a>
  <a href="link 4" class="blockin">Link 4</a>    
</div>
<a href="link 5" class="block">Inny link</a>

Postanowiłem jednak zmienić na listy no i mam problem - rozwijanie przestało działać.
Obecnie wygląda to tak:

Kod:
<ul class="nawigacja">
  <li><a href="#" class="rozwin">Link rozwijajacy</a></li>
  <li class="rozwijanie">
    <ul>
      <li><a href="link 1" class="blockin">Link 1</a></li>
      <li><a href="link 2" class="blockin">Link 2</a></li>
      <li><a href="link 3" class="blockin">Link 3</a></li>
      <li><a href="link 4" class="blockin">Link 4</a></li>
    </ul>
  </li>
  <li><a href="link 5" class="block">Inny link</a></li>
</ul>

Wnioskuję, że problemem jest zmiana struktury - obecnie element o klasie "rozwijanie" nie znajduje się zaraz za linkiem o klasie "rozwin", bo jest jeszcze zamknięcie elementu listy. W efekcie chyba nie działa next().

Dobrze myślę, czy coś innego jest źle? No i jak to zrobić, aby działało? Elementów rozwijanych jest sporo, więc muszę mieć coś na kształt tego next, a zarazem nie chcę korzystać z id - co trochę jest coś dodawanego i szybko można się pogubić w gąszczu numeracji.