[Gelöst] [JavaScript] Alle <span id="item[]"> ansprechen

yoshi

Well-known member
ID: 131198
L
25 Juli 2006
561
23
Hallo,
ich habe viele <span> mit der id="item[17]" bzw. anderen Nummern. Nun möchte ich alle per for in Schleife abrufen.
Folgendes funktioniert nicht:
for (list_item in document.getElementById('item'))
Wo ist der Fehler?
Gruß,
Yoshi
 
Zuletzt bearbeitet:
Der fehler leigt darin das für Javascript "item" nix mit "item[xy]" zu tun hat. Wenn die Zahlen vorlaufend sind kannst du auch per for Schleife das ganze auslesen.
 
Du könntest ihnen zusätzlich allen den Namen 'item' (name="item") geben und dann per getElementsByName('item') ein Array bekommen, das du dann wiederum mit ner Schleife abarbeiten kannst ;)

Ausführliche Infos zur Funktion gibts hier: SelfHTML.de
 
Naja, ich hab die Elemente mit name="item" versehen und dann per JavaScript
for (list_item in document.GetElementsByName('item'))
{
wert = document.GetElementsByName('item')[list_item].value;
}
 
Ohne gross meckern zu wollen, ist die Lösung etwas unperformant, da Du jedes Mal alle Elemente wieder aus dem DOM suchst und dürfte 'nen Javascript-Fehler schmeissen, da Du auch über das Feld length des Arrays iterieren wirst.

Dies wäre eine bessere Lösung:
PHP:
var nodes = document.getElementsByName('item');
for (var i = 0; i < nodes.length; i++) {
    wert = nodes[i].value;
}