2016-03-19 14 views
0

Ich versuche, eine Eingabe mit einer Klasse von blocked zu finden und das deaktivierte Attribut zu entfernen. Das ist, was ich habe ...Javascript entfernen deaktiviert Attribut mit getElementsByClassName

<input id="test" class="blocked" type="text" disabled="disabled" value="Some Value"> 
<script> 
    document.getElementsByClassName("blocked").removeAttribute("disabled"); 
</script> 

Dies muss Javascript und nicht jQuery zu tun mit, warum ist es nicht wie erwartet funktioniert?

Antwort

1

Sie haben, es zu schreiben, wie unten,

document.getElementsByClassName("blocked")[0].removeAttribute("disabled"); 

Da getElementsByClassName() eine Knotenliste zurückkehren, technisch ein [object HTMLCollection]. Sie müssen also auf das erste Element dieser Sammlung zugreifen und die gewünschten Funktionen aufrufen.

+0

Macht jetzt Sinn, gibt ein Array zurück, da mehr als eine Klasse gefunden werden konnte. Danke für die Klärung – fightstarr20

+0

@ fightstarr20 Es ist kein Array, es ist ein Array wie Objekt. Sie können sie also nicht als Array behandeln. –

Verwandte Themen