M4mkin_pr0ger
@M4mkin_pr0ger
Хачу пырфоманс

Как работает getElementsByClassName?

Задача:
Есть множество элементов с классом "Item". При клике по любому из них, тот, по которому кликнули переносится из элемента с идентификатором "container_1" во второй элемент с идентификатором "container_2".

Я застрял на этапе считывания клика по элементу с выше упомянутым классом
Мои попытки:
document.getElementsByClassName('Item').onclick=func_PEREMESTIT;
document.getElementsByClassName('Item')[1].onclick=func_PEREMESTIT;
document.getElementsByClassName('Item')[*].onclick=func_PEREMESTIT;
(В "func_PEREMESTIT" просто выплывает алерт)

Первый и третий варианты не работают
Второй вариант работает, но только со вторым элементом (по счету от 0), т.е. с определенным
Третий вариант забавный, согласен)) Просто перенял фичу из CSS)))

Я реализовал задачу посредством магического jQuery, но я хочу знать, как реализуется это через голый JS, дабы я не испытывал проблем с переводом полу-фреймворкового скрипта на "чистый" JS, во имя оптимизации)))
  • Вопрос задан
  • 417 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
getElementsByClassName() возвращает массивоподобный (итерируемый) объект всех дочерних элементов, соответствуюих всем из указанных имен классов.
https://developer.mozilla.org/ru/docs/Web/API/Docu...

То есть там не один элемент возращается, а некий список. Вам придется открыть учебник и прочитать что такое "массив". И как обращаться к элементам массива.

Ну или научиться в делегирование, но это еще сложнее.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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