js Как получить элемент для которого применяется onclick по классу в переменную?
Есть несколько элементов с одним классом, нужно по нажатию на элемент провести некоторые действия и получить в переменную этот элемент.
colorSelector = document.getElementsByClassName('colorSelector'); //Считали все элементы с классом для выбора цвета
for (let i = 0; i < colorSelector.length; i++) { //Идем по каждому элементу
colorSelector[i].onclick = () => changeColorSelected(colorSelector[i].getAttribute('class').split(' ')[1]); //Передаем элемент по которому нажали
}
Собственно клик я ловлю и применяю нужные свойства. Кстати, скажите, пожалуйста, если я не правильно делаю клик по классу. Но вот как мне получить в переменную элемент на который я кликнул?
Ответы (1 шт):
Автор решения: Igor
→ Ссылка
var lastClicked = null;
colorSelector = document.getElementsByClassName('colorSelector');
for (let i = 0; i < colorSelector.length; i++) {
colorSelector[i].onclick = function(e) {
var clicked = this;
// or
var clicked = colorSelector[i];
// or
var clicked = e.target;
lastClicked = clicked;
};
}
var colorSelector = document.getElementsByClassName('colorSelector');
for (let i = 0; i < colorSelector.length; i++) {
colorSelector[i].onclick = function(e) {
var clicked1 = this;
// or
var clicked2 = colorSelector[i];
// or
var clicked3 = e.target;
console.log(clicked1.textContent, clicked2.textContent, clicked3.textContent);
};
}
.colorSelector {
border: 1px solid black;
padding: 10px;
background: lightgreen;
}
<div class="colorSelector">A</div>
<div class="colorSelector">B</div>
<div class="colorSelector">C</div>