Как можно получить второй 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, время: 16:19. |