Ďalšou užitočnou funkciou v knižnici lib.js
je funkcia
getAll()
. Vráti všetky elementy s daným názvom. Elementy
vyhľadáva v celom dokumente, alebo iba v zadanom elemente.
// C# syntax
NodeList getAll(DOMString tagName);
NodeList getAll(DOMString tagName, DOMString parent);
NodeList getAll(DOMString tagName, HTMLElement parent);
// Java syntax
getAll(tagName : DOMString) : NodeList;
getAll(tagName : DOMString, parent : DOMString) : NodeList;
getAll(tagName : DOMString, parent : HTMLElement) : NodeList;
getAll()
zjednodučuje prácu s funkciou
getElementsByTagName()
.
- Ak je uvedený iba parameter
tagName
, funkcia vráti elementy z celého dokumentu, ktoré majú daný názov elementu. - Ak je uvedený parameter
parent
(či už ako text (DOMString) alebo referencia na element (HTMLElement)), funkcia vráti všetky elementy s daným názov, ktoré sa nachádzajú v elementeparent
.
Ukážka: priradenie akcie všetkým odkazom v menu.
<script type="text/javascript">
addLoadEvent(Init);
function Init() {
var a = getAll("a", "menu"); // získenie všetkých <a> v elemente s ID "menu"
addEvent(a, "click", evt_a_click); // priradenie akcie
}
function evt_a_click(e) {
...
}
</script>
...
<body>
<p id="menu">
<a href="/">Home</a> |
<a href="/contact/">Kontakt</a> |
<a href="/sitemap/">Mapa stránok</a>
</p>
...
Funkcia getAll()
je veľmi praktická, keď potrebujeme
pracovať so skupinou elementov s rovnakým názvom (tag name). Vrátenú
kolekciu (pole) prvkov je možné ľahko cyklom prejsť a upraviť. Dĺžku
poľa získame štandardnou vlastnosťou polí – length
.