- 전체
- 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
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 7 | [전자상거래/쇼핑몰 개발] [카페24쇼핑몰] 품목생성형과 상품연동형 옵션의 차이점이 궁금합니다. | 졸리운_곰 | 2024.07.30 | 385 |
| 6 |
[전자상거래/쇼핑몰 개발] cafe24 MySQL db 외부접속 방법
| 졸리운_곰 | 2024.07.23 | 566 |
| 5 |
[전자상거래/쇼핑몰 개발] 초보 셀러를 위한 쇼피파이(Shopify) 제작 가이드
| 졸리운_곰 | 2024.07.03 | 585 |
| 4 |
[전자상거래/쇼핑몰 개발] [카페24쇼핑몰] [API] Cafe24 - API 호출 예시
| 졸리운_곰 | 2024.06.25 | 413 |
| 3 | [전자상거래/쇼핑몰 개발] [카페24쇼핑몰] 카페24 무료 쇼핑몰 가입 | 졸리운_곰 | 2024.05.20 | 542 |
| 2 | [전자상거래/쇼핑몰 개발] [카페24쇼핑몰] 카페24 쇼핑몰 상세화면 설정 | 졸리운_곰 | 2024.05.20 | 244 |
| 1 |
[전자상거래/쇼핑몰 개발] [카페24쇼핑몰] 상품상세 검색
| 졸리운_곰 | 2024.05.17 | 611 |

