Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery]Rozwijanie listy
Forum PHP.pl > Forum > Po stronie przeglądarki
230005
Kod:

[JAVASCRIPT] pobierz, plaintext
  1.  
  2. $("a[href='"+parentLocation+"']").parents().filter("ul, li").show();
  3.  
[JAVASCRIPT] pobierz, plaintext


Kod ten ma rozwijać wszystkich rodziców elementu o podanym atrybucie i wartości (od razu mówię, że parentLocation nie jest puste i zawiera właściwą wartość). Co robię źle smile.gif? Moim okiem wszystko jest dobrze: wybieram wszystkie elementy a których href to np 'abc', dalej wybieram każdego rodzica i filtruję kolekcję jedynie do elementów ul i li, następnie pokazuję co pokazać trzeba smile.gif.
vokiel
Pisane z palca, może nie działać

[JAVASCRIPT] pobierz, plaintext
  1. $("a[href='"+parentLocation+"']").parents("ul, li").show();
  2.  
  3. $("a[href='"+parentLocation+"']").parents("ul, li").each(function(){
  4. $(this).show();
  5. });
[JAVASCRIPT] pobierz, plaintext
230005
Istotnie - nie działa smile.gif.
vokiel
No to odpalasz firebuga i patrzysz co się dzieje;)

[JAVASCRIPT] pobierz, plaintext
  1. var f_parent = $("a[href='"+parentLocation+"']");
  2. var f_parents = f_parent.parents();
  3. var f_filter = f_parents.filter("ul, li");
  4. console log(f_parent);
  5. console log(f_parents);
  6. console log(f_filter);
[JAVASCRIPT] pobierz, plaintext


Dzięki temu wychwycisz na którym etapie jest błąd
230005
Hmmm dostaję trzy puste tablice... Ale właściwe elementy są w strukturze strony. Myślałem, że to może dlatego że wcześniej je poukrywałem przy pomocy hide(), ale nawet jeśli ten kod wstawiam przed ukrywaniem i tak dostaję trzy puste tablice. Kiedy natomiast wrzucam zmienne do alerta, dostaję object object.

Ok problem leżał w innym miejscu - nie do końca poprawna była wartość parentLocation.
vokiel
3 puste tablice oznaczają, że błąd jest już na samym początku winksmiley.jpg

Cytat(230005 @ 29.09.2009, 15:03:13 ) *
(...) od razu mówię, że parentLocation nie jest puste i zawiera właściwą wartość (...)

Cytat(230005 @ 29.09.2009, 16:34:37 ) *
Ok problem leżał w innym miejscu - nie do końca poprawna była wartość parentLocation.


Jak ja lubię te pewniaki smile.gif
230005
Skrypt działał w taki sposób, że porównywał to co jest na pasku adresu przeglądarki z tym co w linku. Po najechaniu na link w pasku postępu wszystko wyglądało dobrze - tzn. był tożsamy z paskiem adresu (i stąd moja pewność smile.gif), dopiero kiedy sprawdziłem sobie zawartość linka w firebugu okazało się że jest krótszy.
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.