getelementsbyclassname而不是getelementbyid不起作用

时间:2013-07-31 13:51:43

标签: getelementbyid getelementsbyclassname

我已多次读过你现在可以获得getElementsByClassName。下面这个工作正常如果我用Id替换ClassName,但使用单词ClassName不起作用。谁知道为什么? (我试过Chrome和Firefox)

      <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 个答案:

答案 0 :(得分:1)

该函数名为getElementsByClassName。复数。它不返回元素,而是返回具有类名的所有元素的数组。

因此,即使数组只包含一个项目,即使数组中只有一个元素,您仍需要对其进行索引。

 x[0].disabled=true

而不是

 x.disabled=true

Fiddle