Как можно получить второй class ?
Имеем div с двумя class. Выглядит это так
Код:
<div class="item red"></div> Код:
document.querySelectorAll(".item").forEach(function (el) { Как можно получить второй class но другим способом ? Тут моя попытка : https://codepen.io/topicstarter/pen/vYXvPMg |
решено
document.querySelectorAll(".item").forEach((el) => { el.addEventListener("click", (event) => { document.body.style.backgroundColor = getComputedStyle( event.target ).backgroundColor; }); }); |
maxim1978,
а так сможешь вместо forEach document.body.addEventListener("click", function(event) { |
Цитата:
|
maxim1978,
Делегирование событий |
Цитата:
|
maxim1978,
у вас на каждом item клик, а можно сделать обработчик клика только на body. |
Цитата:
|
maxim1978,
в доке всё написано, и у вас практически готовый код , только добавить 1 строку из примеров по ссылке. ... ну или ждите, может кто быстрее? :) |
Цитата:
|
maxim1978,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .item { width: 40px; height: 40px; } .red { background: red; } .green { background: green; } .blue { background: blue; } .yellow { background: yellow; } </style> <script> document.addEventListener( "click" , function(event) { let item = event.target.closest('.item'); if(!item) return; document.body.style.backgroundColor = item.classList[1]; //document.body.style.backgroundColor = getComputedStyle(item).backgroundColor; }); </script> </head> <body> <div class="item red"></div> <div class="item green"></div> <div class="item blue"></div> <div class="item yellow"></div> </body> </html> |
Цитата:
Цитата:
Причем там буден не 'green' или 'red', а 'rgb(0,255,0)' или 'rgb(255,0,0)' |
Часовой пояс GMT +3, время: 11:52. |