Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Rozwijane menu
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Vercio
Witam.
Chciałem napisać w jQuery mały skrypcik, który będzie odpowiedzialny za rozwijanie i zwijanie menu. Niestety natrafiłem na problem, którego nie potrafię rozgryźć:

Tak wygląda kod jQuery:
  1. $(document).ready(
  2. function()
  3. {
  4. $("div.p").children("a").click(
  5. function()
  6. {
  7. $(this).next("div.i").toggle("slow");
  8. });
  9. });

Tak xHTML:
  1. <div class="p">
  2. <p>Lorem ipsum: <a href="#">Rozwiń</a></p>
  3. <div class="i">
  4. <p>- Lorek</p>
  5. <p>- Ipsum</p>
  6. <p>- Nowek</p>
  7. </div>
  8. </div>

I nie mam bladego pojęcia dlaczego nie działa... Może ktoś nakierować na rozwiązanie problemu ?
erix
[JAVASCRIPT] pobierz, plaintext
  1. $(this).parent().next("div.i").toggle("slow");
[JAVASCRIPT] pobierz, plaintext
'
W <p /> nie masz tego diva, musisz szukać względem rodzica dla linka.
Vercio
Rozumiem tylko myk polega na tym że
  1. div.p

Ma się odwoływać do klasy nazwanej p a nie do paragrafu.
erix
Nie rozumiem?
vokiel
Chyba jednak nie rozumiesz, erix Ci napisał jasno i wyraźnie.
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function(){
  2. $("div.p").children("a").click(function(){
  3. $(this).parent().next("div.i").toggle("slow");
  4. // $(this) - czyli nasz element a w divie o klasie p
  5. // .parent() - element wyżej, czyli paragraf <p>
  6. // .next("div.i") - kolejny element za nim (na tym samym poziomie pokrewieństwa), czyli <div class="i">
  7. // .toggle("slow"); - akcja
  8. });
  9. });
[JAVASCRIPT] pobierz, plaintext
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.