🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#51246
Author: Sławek
Date: Fri, 30 Nov 2012 12:46
28 lines
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
#51247
Author: TOUDIdel
Date: Fri, 30 Nov 2012 13:46
9 lines
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
#51248
Author: Sławek
Date: Fri, 30 Nov 2012 14:01
20 lines
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
#51250
Author: Cezary Tomczyk
Date: Fri, 30 Nov 2012 14:01
33 lines
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
#51249
Author: Sławek
Date: Fri, 30 Nov 2012 14:10
14 lines
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
#51251
Author: Sławek
Date: Fri, 30 Nov 2012 14:17
17 lines
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
#51252
Author: Sławek
Date: Fri, 30 Nov 2012 14:22
9 lines
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