Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript] Jak wybrac elemnty aby mozna bylo im nadac parametr
Forum PHP.pl > Forum > Przedszkole
Ciosek
Witam.

Czy moglby mi ktos powiedziec w jakis sposob moge wybrac wszystkie elementy w danym divie. Zeby bylo jasniej pokaze jak wyglada to do tej pory:

  1. <div >
  2. <a href="#nazwa_etykietu"
  3. onclick="document.getElementById('element_wazny').style.display = '';
  4. document.getElementById('element1').style.display = 'none';
  5. ">
  6. Przycisk
  7. </a>
  8.  
  9. </div>
  10.  
  11.  
  12. <!-- nazwy niestety nie maja sensownej struktury żeby po nich wybrac -->
  13. <div id="lista_elementow" >
  14. <div id="element1"></div>
  15. <div id="element2"></div>
  16. ...
  17. <div id="element47"></div>
  18. </div>
  19.  
  20. <div id="element_wazny" style="display: none">
  21.  
  22. </div>



Teraz po nacisnieciu przycisku
pojawia sie element_wazny
znika element1.

I jest super

Jednak jesli rociagne <a>

  1. <a href="#nazwa_etykietu"
  2. onclick="document.getElementById('element_wazny').style.display = '';
  3. document.getElementById('element1').style.display = 'none';
  4. document.getElementById('element2').style.display = 'none';
  5. ...
  6. document.getElementById('element47').style.display = 'none';
  7. ">


To juz po nacisnieciu przycisku te elementy nie znikaja.
Z przyczyn ode mnie niezaleznych nie moge "zniknac" div'a "lista_elementow"

Probowalem nadac elementa klase

  1. <div id="element1" class="znikanie"></div>
  2. <div id="element2" class="znikanie"></div>
  3. <!-- i potem ukryc to w ten sposob -->
  4.  
  5. <a href="#nazwa_etykiety" onclick="document.getElementById('element_wazny').style.display = '';
  6. document.getElementByClassName('znikanie').style.display = 'none';">


Ale lementy nie zniakaja.

Siedze nad tym juz 3h i nie wiem jak to zrobic.


PS: Chcialem tylko dodac ze jestem zielony z Javascript. Znam sie jedynie na php i html.


Edit: Moze to wina tego ze biblioteka jQuery jest wczytana - niestety z niej tez nie moge zrezygnowac.

Edit2: Zeobilem cos takiego:

  1. <script type="text/javascript">
  2. function getElements()
  3. {
  4. var x=document.getElementsByClassName("znikanie");
  5. alert(x.length);
  6. }


Po kliknieciu zlicza dobrze klase teraz tylko jak wsadze ten kod:

document.getElementById('element1').style.display = '';
document.getElementsByClassName('znikanie').style.display = 'none';

to dalej elementy nie znikaja.
SaMi
Jeśli korzystasz z jquery to czemu i tu nie wykorzystać, zasada jest prosta po kliknięciu w element o id="przycisk" zostają wyszukane (funkcja find() ) w elemencie z identyfikatorem id="lista_elementow" wszystkie divy o id="element" a następnie są one ukrywane przy pomocy funkcji np. hide();

  1. $("#przycisk").click(function () {
  2. $('#lista_elementow').find('div#element').hide();
  3. });


Ewentualnie można spróbować tak:

  1. function zmien(zak) {
  2. for (var x=1; x<=47; x++) {
  3. if (x==zak) {document.getElementById(x).style.display = '';}
  4. else {document.getElementById(x).style.display = 'none';}
  5. }
  6. }



  1. <a OnClick="zmien('1')"></a>
  2. <div id="1" style="display: none">
  3. .
  4. .
  5. .<div id="47" style="display: none">


powinno działać choć nie sprawdzałem.
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.