2013-07-31 66 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

完美:)现在我明白我犯的错!谢谢。 –

相关问题