2013-07-31 63 views
0

我已經讀了很多次,你現在可以得到getElementsByClassName。這下面工作正常,如果我通過Id替換ClassName,但使用單詞ClassName不起作用。有人知道爲什麼(我在Chrome和Firefox上試過)getelementbyclassname而不是getelementbyid不工作

 <script type="text/javascript"> 
     function makeDisable(){ 
     var x=document.getElementsByClassName("mySelect"); 
     x.disabled=true 
     } 
     function makeEnable(){ 
      var x=document.getElementsByClassName("mySelect"); 
      x.disabled=false 
     } 
    </script> 

    <form> 
     <select class="mySelect" id="mySelect"> 
     <option>Apple</option> 
     <option>Banana</option> 
     <option>Orange</option> 
    </select> 

     <input type="button" onclick="makeDisable()" value="Disable list"> 
     <input type="button" onclick="makeEnable()" value="Enable list"> 
    </form> 

回答

1

該函數被稱爲getElementsByClassName。複數。它不返回元素,而是返回所有具有類名稱的元素的數組。

因此,即使數組只包含一個項目,即使數組中只有一個元素,您仍然需要對其進行索引。

x[0].disabled=true 

代替

x.disabled=true 

Fiddle

+0

完美:)現在我明白我犯的錯!謝謝。 –

相關問題