Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JQuery] Odniesienie się do rodzica klikanego obiektu
l0ud
post 20.04.2008, 11:15:18
Post #1





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Witam smile.gif Za pomocą jquery usiłuję zrobić proste zwijanie divów z treścią. Po kliknięciu na nagłówek ma się ukryć bądź pojawić jego zawartość.

Budowa diva:

  1. <div class="board">
  2. <h1>Nagłówek</h1>
  3. <span class="content">Treść</span>
  4. </div>


I teraz nie wiem, jak odnieść się do span.content, w odniesieniu do h1:

Kod
$(document).ready(
    function() {
        $('div.board h1').addClass('roll');
        $('div.board h1').click(
            function() {
                $('../span.content',this).toggle('normal'); //błędna linia
            }
        );
    }
);


Nie działa, zresztą chyba nie ma jak działać... Główny problem stanowi dla mnie odniesienie się do rodzica obiektu [this]. Jeżeli to istotne, jest to strona w HTML a nie XHTML.
Domyślam się, że to banalne, ale nawet z pomocą manuala nie umiem sobie z tym poradzić... Tak więc proszę o pomoc smile.gif

Pozdrawiam


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
lord_t
post 20.04.2008, 11:47:18
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

Ostrzeżenie: (0%)
-----


Kod
$(document).ready(function() {
    $('div.board h1').addClass('roll');
    //ver.1
    /* $('div.board h1').click(
            function(){
                $(this).next().toggle('normal');
              }    
        );*/
        //ver.2
        $('div.board h1').click(
            function(){
                $(this).parent().toggle('normal');
              }    
        );
    
    
});


Obczaj:)



------------------------------------------------------------------------------
Odnośnie postu poniżej:
Kicaj, jakbyś nie widział to właśnie to zawarłem w moim kodzie:>

Ten post edytował lord_t 20.04.2008, 12:01:11


--------------------
Go to the top of the page
+Quote Post
kicaj
post 20.04.2008, 11:56:27
Post #3





Grupa: Zarejestrowani
Postów: 1 640
Pomógł: 28
Dołączył: 13.02.2003
Skąd: Międzyrzecz/Poznań

Ostrzeżenie: (0%)
-----


W JQuery istnieja takie funkcje jak: children() i parent()


--------------------
PHP Developer

"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola
Go to the top of the page
+Quote Post
batman
post 20.04.2008, 13:40:23
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Pisane na szybkiego, więc nie dam 100%, że zadziała:
Kod
$(this).parent().find("span.content").toggle("normal");

Kod ten, w teorii, "wejdzie" o jeden poziom wyżej w drzewie DOM (do div-a, dzięki parent), a następnie wyszuka w tym elemencie (find) znacznika span z odpowiednią klasą.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
l0ud
post 20.04.2008, 14:28:35
Post #5





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


Dzięki, oczywiście już działa winksmiley.jpg
Ostatecznie zrobiłem tak:
Kod
$(this).parent().children('span.content').toggle();


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 16:34