Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: JS: jak wybrać paragraf bez id będący za jakimś innym elementem
Forum PHP.pl > Forum > Po stronie przeglądarki
nowy_pehapowiec
Mam nagłówek z odnośnikiem "pokaż/ukryj" za nagłówkiem jest element div, który ma się pokazywać albo ukrywać na kliknięcie.
I teraz jest pytanie jak mając id odnośnika wskazać div?

kod jest taki:
<h4>tytul<a id="aa" onclick="show( 'aa' );" > more </a></h4>
<div style="display: none;">

Jak mając id="aa" dobrać się do elementu div?
skowron-line
http://v3.thewatchmakerproject.com/journal...previoussibling z tym że nie czy przypadkiem jak klikniesz na link to nextSibling nie wskaże na h4 ( tzn napewno wskaże ) więc polecam wywołanie funkcji przenieść na h4.
zegarek84
dla tej strony masz przykłąd - wklej w pasku adresu i kliknij enter - ps. javascript ma być razem - zawsze tu rozdziela:
[JAVASCRIPT] pobierz, plaintext
  1. java script:var znacznik=document.getElementById('pp-entry-gender-img-43887').parentNode, el=znacznik;
  2. while(el=el.nextSibling){if(el.nodeName=='DIV')break;}; alert(el.innerHTML);void(0)
[JAVASCRIPT] pobierz, plaintext


to jest dla analogicznego kodu źródła z tej strony jaki znalazłem:
  1. <div class='popupmenu-item'>
  2.  
  3. <img src='http://forum.php.pl/style_images/upgrade_ip/folder_profile_portal/gender_mystery.png' id='pp-entry-gender-img-43887' alt='' border='0' />
  4. <a href="Zobacz_profil_m43887.html">Zobacz profil</a>
  5. </div>
  6.  
  7.  
  8. <div class='popupmenu-item'>
  9.  
  10. <img src='http://forum.php.pl/style_images/upgrade_ip/folder_profile_portal/friend_add_small.png' alt='' border='0' /> <a href="#" onclick='friends_pop("&amp;do=add&amp;member_id=43887&amp;md5check=8fc9f67a15b8500432ad3fad142c5643"); return false'>Dodaj jako znajomego</a>
  11.  
  12. </div>
nowy_pehapowiec
skowron-line dzięki za linka - czytma, ale jeszcze nie pokumałem co i jak.

zegarek84 nic z tego co napisałeś nie skumałem sad.gif

Generalnie to chodzi mi to, żeby uniknąć podawania identyfikatorów. Dlatego mi zależy na sięgnięciu do tego diva, któy jest za linkiem. Może jakoś trzeba przebudować strukturę html, żeby było łatwiej, jakieś tipsy/tricki? A i fajnie by było pobierać id klikniętego odnośnika, bez podawania go w wywołaniu funkcji? Da się tak?

pozdro
zegarek84
masz tam rozwiązanie tylko zmień na swoje id i teraz:
[JAVASCRIPT] pobierz, plaintext
  1. var link=document.getElementById('aa'), el=link.parentNode;
  2. while(el=el.nextSibling){if(el.nodeName=='DIV')break;};
  3. // el jest teraz uchwytem Twojego diva - masz w nim tego div'a
  4. // teraz przypisz styl odpowiedni mu - np. dispaly none lub visibility hiden
  5. // jest jeszcze metoda nextElementSibling gdzie można pominąć białe znaki i wtedy było by bez while...
[JAVASCRIPT] pobierz, plaintext
skowron-line
Nie chcę Cie tu do niczego namawiać no ale może warto iść z duchem czasu i zastosować jakąś bibliotekę do JS.
http://www.consideropen.com/blog/2008/09/3...y-17-accordion/
jest coś takiego co ty byś chciał osiągnąć. Łatwo, szybko i przyjemnie.
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.