- 전체
- HTML
- Web Design (웹디자인)
- XE 응용 개발
- wordpress plugin dev
- Javascript & JavaScript Application
- MEAN Stack : full stack javascript
- angular js & ionic framework
- bootstrap
- WebGL, Three.js and Babylon.js
- restful api design
- mobile web
- node.js 응용
- Cloud Service 응용
- 웹 어셈블리 개발 [WASM, WebAssembly]
- 마이크로서비스, MSA (microservice architecture)
- WebGL / WebGPU
- next.js 개발
- micro frontend (마이크로프론트앤드)
- 전자상거래/쇼핑몰
- 서버 클라우드 (aws, azure, google)
JavaScript [JavaScript] How to select all tag elements with JS
2024.05.18 18:16
[JavaScript] How to select all tag elements with JS
[Question]
I have a question about how to select all tag elements in HTML page with JavaScript and apply an Event listener to them.
With jQuery we can do like this
$('td').on('click', function(){...});
But how can I do it with pure JavaScript? I have this code:
const el = document.getElementsByTagName('td');
el.addEventListener("click", function(){
let cellColor = document.getElementById("colorPicker").value;
this.backgroundColor = cellColor;
});
But this gives an error in console:
Uncaught TypeError: el.addEventListener is not a function at makeGrid (designs.js:34) at designs.js:42
[Answer]
getElementsByTagName() returns collection. You have to iterate over all the element to add the event:
Try with querySelectorAll() and forEach():
const el = document.querySelectorAll('td');
el.forEach(function(td){
td.addEventListener("click", function(){
let cellColor = document.getElementById("colorPicker").value;
this.style.backgroundColor = cellColor;
});
});
Please Note: querySelectorAll() is supported by all the modern browsers. Some older browsers does not support it.
Try the following with Array.prototype.forEach() if you want to work with older browsers:
const el = document.getElementsByTagName('td');
[].forEach.call(el, function(td){
td.addEventListener("click", function(){
let cellColor = document.getElementById("colorPicker").value;
this.style.backgroundColor = cellColor;
});
});
Cell Color: <input id="colorPicker" value="#FF5733"/>
<table>
<tbody>
<tr><td>11</td><td>12</td><td>13</td></tr>
<tr><td>21</td><td>22</td><td>23</td></tr>
<tr><td>31</td><td>32</td><td>33</td></tr>
</tbody>
</table>
[출처] https://stackoverflow.com/questions/49400236/how-to-select-all-tag-elements-with-js
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 9 |
테이블 태그 셀 합치기 그리고, 테이블 안 테이블
| 졸리운_곰 | 2019.03.23 | 565 |
| 8 | 테이블 컬럼 너비 고정 : Fixed Table Cell Width | 졸리운_곰 | 2019.03.21 | 766 |
| 7 | 포지션 css - position (static, relative, absolute, fixed 차이) | 졸리운_곰 | 2019.03.16 | 496 |
| 6 |
DIV 태그를 이용하여 레이아웃 만들기
| 졸리운_곰 | 2019.02.06 | 804 |
| 5 | HTML DIV tag: 세 개의 DIV영역을 가로로 나란히 놓는 방법 - 테이블과 비교 | 졸리운_곰 | 2019.02.04 | 588 |
| 4 |
카드형 디자인/갤러리/리스트 코딩하기.
| 졸리운_곰 | 2018.09.06 | 481 |
| 3 |
[HTML5] span과 div의 차이
| 졸리운_곰 | 2018.06.04 | 798 |
| 2 | HTML div 왼쪽, 오른쪽 배치 | 가을의곰 | 2017.06.10 | 493 |
| 1 |
XPath 이야기
| 졸리운_곰 | 2017.03.20 | 590 |

