Thread View: pl.comp.lang.javascript
7 messages
7 total messages
Started by Sławek
Fri, 30 Nov 2012 12:46
JQuery - jak znaleźć pierwsze wystąpienie
Author: Sławek
Date: Fri, 30 Nov 2012 12:46
Date: Fri, 30 Nov 2012 12:46
28 lines
1966 bytes
1966 bytes
Witam
Problem może banalny ale próbuje i próbuję ale nic mi nie wychodzi.
Mam kod w którym zagnieżdżam listę i chcę pokazywać lub chować te
zagnieżdżenia.
Zagnieżdżenie odbywa się rekursywanie. Generalnie i w uproszczeniu mam
coś takiego
<ul class="dir">
<li><img src="costam" class="open_dir" /> i jakiś tam kod, tabela
i różne
<ul class="dir">
<li>..</li>
........
..........
</ul>
</li>
<li></li>
</ul>
w dużym uproszczeniu ale generalnie chodzi o to aby po kliknięciu w ten
img jquery znalazł mi pierwsze wystąpienie ul i tylko je ukrył.
Próbowałem na rożne sposoby wygooglowane ale albo nic mi nie chowa albo
wsZystko albo nie to co trzeba.
Będę wdzięczny za każdą podpowiedź
z góry dzięki
pozdrawiam
Sławek
Re: JQuery - jak znaleźć pierwsze wystąpienie
Author: TOUDIdel
Date: Fri, 30 Nov 2012 13:46
Date: Fri, 30 Nov 2012 13:46
9 lines
1282 bytes
1282 bytes
W dniu 30.11.2012 13:46, Sławek pisze: > w dużym uproszczeniu ale generalnie chodzi o to aby po kliknięciu w ten > img jquery znalazł mi pierwsze wystąpienie ul i tylko je ukrył. http://api.jquery.com/first/ http://api.jquery.com/first-child-selector/ -- td
Re: JQuery - jak znaleźć pierwsze wystąpienie
Author: Sławek
Date: Fri, 30 Nov 2012 14:01
Date: Fri, 30 Nov 2012 14:01
20 lines
1995 bytes
1995 bytes
W dniu 2012-11-30 14:46, TOUDIdel pisze: > W dniu 30.11.2012 13:46, Sławek pisze: >> w dużym uproszczeniu ale generalnie chodzi o to aby po kliknięciu w ten >> img jquery znalazł mi pierwsze wystąpienie ul i tylko je ukrył. > > http://api.jquery.com/first/ > http://api.jquery.com/first-child-selector/ > Dzięki za odpowiedź. Niestety próbowałem tego ale nic to nie dało. Zdarzenie jest wywoływane przez live click w graficzkę img po którym następuje ul ale ten ul nie jest dzieckiem img tylko występuje po tym img. Generalnie chodzi o taki mechanizm że po kliknięciu w graficzkę wyszuka pierwsze wystąpienie ul i je ukryje/pokaze. Ale tylko to jedno wystąpienie (oczywiście też zagnieżdżone w nim ul). pozdrawiam Sławek
Re: JQuery - jak znaleźć pierwsze wystąpienie
Author: Cezary Tomczyk
Date: Fri, 30 Nov 2012 14:01
Date: Fri, 30 Nov 2012 14:01
33 lines
1905 bytes
1905 bytes
W dniu 2012-11-30 13:46, Sławek pisze:
> Witam
>
> Problem może banalny ale próbuje i próbuję ale nic mi nie wychodzi.
> Mam kod w którym zagnieżdżam listę i chcę pokazywać lub chować te
> zagnieżdżenia.
> Zagnieżdżenie odbywa się rekursywanie. Generalnie i w uproszczeniu mam
> coś takiego
> <ul class="dir">
> <li><img src="costam" class="open_dir" /> i jakiś tam kod, tabela
> i różne
> <ul class="dir">
> <li>..</li>
> ........
> ..........
> </ul>
> </li>
> <li></li>
> </ul>
>
> w dużym uproszczeniu ale generalnie chodzi o to aby po kliknięciu w ten
> img jquery znalazł mi pierwsze wystąpienie ul i tylko je ukrył.
> Próbowałem na rożne sposoby wygooglowane ale albo nic mi nie chowa albo
> wsZystko albo nie to co trzeba.
> Będę wdzięczny za każdą podpowiedź
jQuery('.open_dir').bind('click', function(){
jQuery(this).next('ul').first().toggleClass('hide');
});
--
Cezary Tomczyk
http://www.ctomczyk.pl/
Re: JQuery - jak znaleźć pierwsze wystąpienie
Author: Sławek
Date: Fri, 30 Nov 2012 14:10
Date: Fri, 30 Nov 2012 14:10
14 lines
1698 bytes
1698 bytes
W dniu 2012-11-30 14:46, TOUDIdel pisze:
> W dniu 30.11.2012 13:46, Sławek pisze:
>> w dużym uproszczeniu ale generalnie chodzi o to aby po kliknięciu w ten
>> img jquery znalazł mi pierwsze wystąpienie ul i tylko je ukrył.
>
> http://api.jquery.com/first/
> http://api.jquery.com/first-child-selector/
>
Zrobiłem coś takiego
$(this).closest('ul').find(".list_exp_dir:first").slideUp('slow');
ale nie zwija mi jak mam w ul zagnieżdżenie:(
Sławek
Re: JQuery - jak znaleźć pierwsze wystąpienie
Author: Sławek
Date: Fri, 30 Nov 2012 14:17
Date: Fri, 30 Nov 2012 14:17
17 lines
1649 bytes
1649 bytes
W dniu 2012-11-30 15:01, Cezary Tomczyk pisze:
>
> jQuery('.open_dir').bind('click', function(){
> jQuery(this).next('ul').first().toggleClass('hide');
> });
>
Niestety to nie działa:(
Natomiast to co wymóżdżyłem
$(this).closest('ul').find(".list_exp_dir:first").slideUp('slow');
działa prawie tyle, że jak mam na tym samym poziomie drugie wystąpienie
ul to i tak cholerstwo zwija mi to wyżej:(
pozdrawiam
Sławek
Re: JQuery - jak znaleźć pierwsze wystąpienie
Author: Sławek
Date: Fri, 30 Nov 2012 14:22
Date: Fri, 30 Nov 2012 14:22
9 lines
1452 bytes
1452 bytes
Dziękuję wszystkim za pomoc i zainteresowanie
Ostatecznie takie coś zadziałało
$("img.close_foleder").live('click', function() {
$(this).closest('li').find(".list_exp_dir:first").slideDown('slow');
});
Może komuś się przyda na przyszłosć
pozdrawiam
Sławek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads