getElementsByClassName()獲取元素後onclick事件無效解決辦法

問題描述

今天使用源生js實現 點擊按鈕關閉對應div功能(有多個按鈕,相同class名),出現onclick無效情況。

問題原因

  • 使用getElementById獲取元素的結果是:當前元素
  • 使用getElementsByClassName獲取元素的結果是:相同class名元素數組。
    在這裏插入圖片描述

解決辦法

	var div = document.getElementById("div");
    console.log("getElementById: ");
    console.log(div);

    var btn = document.getElementsByClassName("btn");
    console.log("getElementsByClassName: ");
    console.log(btn);

    // 解決辦法
    for(var i = 0;i < btn.length;i++){
       	btn[i].onclick=function(){
        	// 通過js實現div隱藏
	        div.style.display = "none";
        };
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章