Ingernirated
@Ingernirated
Романыч

Как обращаться к элементам событием без указания на их название?

Хлопцы, подскажите пожалуйста
Есть одна функция, как её забить на все элементы страницы?
https://jsfiddle.net/6kncqLt1/4/

т.е. чтобы при нажатии на любой из элементов его цвет изменился и в консоли написало название его класса, а если их много в этом классе, то его место в массиве с названием массива.
  • Вопрос задан
  • 152 просмотра
Решения вопроса 2
potapchino
@potapchino
function changeColor(index) {
	return function(e) {
  	e.target.style.backgroundColor = "black";
  	console.log('index: ', index);
  }
}

function qs(selector) {
	return document.querySelectorAll(selector);
}

qs('.block').forEach(function(el, i) {
  el.addEventListener('click', changeColor(i), false);
});

qs('.boxer').forEach(function(el, i) {
  el.addEventListener('click', changeColor(i), false);
});
Ответ написан
@choupa
Архитектор (обычный, который строит)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
   $('.block').click(function(){
       $(this).css({'backgroundColor' : 'black'});
       var myClass = $(this).attr('class');
       var ind = $('.'+myClass).index(this);
       console.log(myClass);
       if (ind) console.log(ind);
    });
</script>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы