- 전체
- 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
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 4 |
[HTML/CSS] 4. 카드형 리스트
| 졸리운_곰 | 2018.08.22 | 1120 |
| 3 | HTML DIV tag : 영역 밖과 안쪽에 여백주기 - 마진과 패딩 Margin / Padding | 졸리운_곰 | 2018.07.12 | 537 |
| 2 |
HTML DIV tag: 테두리 너비 지정하는 방법 - WIDTH : 픽셀(px) 또는 퍼센트(%)
| 가을의곰 | 2017.06.10 | 827 |
| 1 |
SVG by HTML5
| 졸리운_곰 | 2015.11.12 | 463 |

