Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js] jak znalezc wszystkie elementy o danym name
Forum PHP.pl > Forum > Przedszkole
misty
Czesc, jak moge znalezc przy pomocy czystego javascript lub jquery wszystkie elementy z podanym name ? Chcialabym miec tablice tych elementow. Elementy te maja taki sam name! Kod wyglada mniej wiecej tak:

  1. <form name="form_name">
  2. <div class="navmenu">
  3. <ul class="adxm menu">
  4. <li><a href="#" title="" >NAV 1</a>
  5. <ul>
  6. <li><a href="#" onClick="testFn();">Item 1</a></li>
  7. <li name="test" id="test" style="display:none;"><a href="#">Item 2</a></li>
  8. <li name="test" style="display:none;"><a href="#">Item 3</a></li>
  9. <li name="test" style="display:none;"><a href="#">Item 4</a>
  10. </li>
  11. </ul>
  12. </li>
  13. <li><a href="#" title="">NAV 2</a>
  14. <ul>
  15. <li><a href="#">Item 1</a></li>
  16. <li><a href="#">Item 2</a></li>
  17. <li><a href="#">Item 3</a></li>
  18. <li><a href="#">Item 4</a></li>
  19. </ul>
  20. </li>
  21. <li><a href="#" title="">NAV 3</a>
  22. <ul>
  23. <li><a href="#">Item 1</a></li>
  24. <li><a href="#">Item 2</a></li>
  25. <li><a href="#">Item 3</a></li>
  26. <li><a href="#">Item 4</a></li>
  27. </ul>
  28. </li>
  29.  
  30. </ul>
  31. </div>
  32. </form>


i kod js:

  1.  
  2. function testFn(){
  3.  
  4. var elements = document.forms['form_name'].elements['test'];
  5.  
  6. }



Z tego co kojarze to cos takiego powinno dzialas. Ale jak potem probuje odczytac elements.length to dostaje ze undefined lub null.. A moze da sie to zrobic prosciej/szybciej w juery? Probowalam z metoda find, ale cos takiego: var x = find($('li[name=test]')); nie dziala..

bede wdzieczna za wszystkie wskazowki..


pzdr,
misty
skowron-line
jquery selectors
kamil4u
Użyj: getElementsByTagName ( https://developer.mozilla.org/en/DOM/elemen...ementsByTagName ) - ew. jQuery, ale to linka już dostałeś

--edit--
Źle wink.gif - oczywiście miało być getElementsByName( https://developer.mozilla.org/en/DOM/docume...tElementsByName )
misty
no to jak mozliwe ze

  1. var elements = document.getElementsByName('test');
  2.  
  3. alert(elements.length);


i alert pokazuje mi 0?

a te selectory to z tego co widze maja same przyklady z uzyciem id. a ja znalezc musze po name..

dobra, znalazlam jakis przyklad ktory mi zadzialal:

  1. var elements = $('li[name=test]')


pzdr
kamil4u
Twoim problemem pewnie jest obsługa DOM. Żeby można było znaleźć elementy muszą się one załadować, a żeby były załadowane to musisz użyć odpowiedniego zdarzenia np. onload.

http://jsfiddle.net/tBEs8/
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.