getElementsByClassName("...")に対してforEachを行う方法

  • 13
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

getElementsByClassName("...")はforEachメソッドを持っていないので,for文で回さないとダメなのかなーと思っていたのですが,[].forEach.call()Array.prototype.forEach.call()で回せるんですね.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
</head>
<body>
<script language="javascript">
window.onload = function(){
  [].forEach.call(document.getElementsByClassName("btn"),function(x){
    x.addEventListener('click',hi);
      });
}
function hi(){
  alert("hi");
}
</script>
<form>
  <input type="button" class="btn"/>
  <input type="button" class="btn"/>
</form>
</body>
</html>