Frontend/Javascript
[Javascript] Name 으로 NodeList 가져와서 Event 걸기
믹-아
2020. 4. 2. 11:09
Button이 여러개가 있다.
<!-- HTML -->
<button name='btn' id='a'>a</button>
<button name='btn' id='b'>b</button>
<button name='btn' id='c'>c</button>
<button name='btn' id='d'>d</button>
<button name='btn' id='e'>e</button>
<button name='btn' id='f'>f</button>
<button name='btn' id='g'>g</button>
<button name='btn' id='h'>h</button>
각 버튼을 눌렀을 때 id를 가져와보자
// javascript
// Name 으로 button 들을 가져온다
var btns = document.getElementsByName("btn");
// 가져온 버튼들(NodeList)에 forEach 로 EventListener 를 추가해준다.
btns.forEach(element => element.addEventListener('click', function(e){
// e는 클릭 이벤트, e.target 으로 클릭된 객체를 가져온다.
console.log(e.target);
console.log(e.target.id);
// a 를 눌렀을 때 :
// <button name="btn" id="a">a</button>
// a
}))
var btns = document.getElementsByName("btn")
btns.forEach(element => element.onclick = function(element){
console.log(e.target)
console.log(e.target.id)
})
물론 onclick 으로도 가능하다