Javascript: Holen Sie sich alle Elemente mit der id id[x]
Mithilfe von javascript wie bekomme ich die Anzahl der vorhandenen Elemente mit der id id[x]?
Beispiel-HTML:
<input name="vrow[0]" id="vrow[0]" value="0" type="text"/>
<input name="vrow[1]" id="vrow[1]" value="0" type="text"/>
<input name="vrow[2]" id="vrow[2]" value="0" type="text"/>
<input name="vrow[3]" id="vrow[3]" value="0" type="text"/>
Den oben genannten html-Code wird generiert abhängig von Benutzereingaben. Wie kann ich feststellen, wie viele Elemente vorhanden sind, mit javascript?
Derzeit kann ich erkennen, Vorhandensein eines Elements, wie dies
Javascript-Beispiel
if(document.getElementById('vrow[0]')){
var row=0;
}
if(document.getElementById('vrow[1]')){
row=1;
}
...
Du musst angemeldet sein, um einen Kommentar abzugeben.
[]
sind keine gültigen Zeichen in ID-Attribute in HTML4.01. Sogar in HTML5, jedoch, verwenden Sie das Attribut "name" (ohne die numerischen Indizes), und verwenden Sie dann getElementsByName():Beachten Sie, dass ältere Versionen von IE und Opera zurückkehren können Elemente mit
id
Attribute, die denselben Wert haben wie der angegebene name in getElementsByName(). IE kann auch nicht zurück-input-Elemente mit einem name-Attribut den gleichen Wert.Wenn aus irgendeinem Grund Sie wollen stick mit den Namen der input-Elemente, die Sie verwenden können:
getElementById gibt immer ein element (da die id eindeutig sind). getElementsByName kann Ergebnis eine Liste der Elemente.
Wenn Sie verwenden eine JavaScript-Bibliothek mit einer abfragefunktion unterstützt CSS3, etwa als Prototyp, können Sie mithilfe der attribute beginnt-mit-Selektor zu finden, die id-Attribute beginnend mit vrow[
Also im Prototyp das wäre
$$('input[id^=vrow[]').each
NB dies ist ungetestet, müssen Sie möglicherweise zu entkommen, die [ in der Auswahl
Prototyp $$ Funktion