在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ 為什么不能通過getElementsByClassName 方式來改變原有的cl

為什么不能通過getElementsByClassName 方式來改變原有的className?

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <style type="text/css">
    .show{
            width: 100px;
            height: 100px;
            border: 1px solid pink;
        }
    </style>
    <script type="text/javascript">
        function rec(){
            var gg=document.getElementsByClassName("close");
            gg.className="show";
        }
    </script>
</head>
<body>


<div class="close">hello world</div>
<input type="button" name="" value="change" onclick="rec()">



</body>
</html>

為什么這樣沒效果?
要把class="close"改成id="close";通過var gg=document.getElementById("close");才有效?

回答
編輯回答
凝雅

getElementsByClassName() 方法返回所有指定類名的元素集合,注意結果是NodeList對象。
像你這個頁面中只有1個同名class可以通過gg[0].className="show";來實現效果

2018年3月10日 04:02
編輯回答
墨染殤

clipboard.png
該方法返回的是個類數組對象,并不是單個元素。
可以試試
gg[0].className = 'show'

2018年4月17日 02:15
編輯回答
故人嘆

getElementsByClassName() 方法返回的是一個數組,你存入變量后沒有選擇下標,所以不會執(zhí)行。
而且使用 ele.setAttribute() 方法去修改dom屬性更為可靠一些。

2018年5月4日 18:29