Я не совсем уверен, какую функциональность вы ищете, но вы можете настроить прослушиватель событий для каждого элемента для прослушивания события наведения мыши, а для получения elID вы можете использовать getAttribute
. Чтобы получить правильный объект в вашем массиве, вы можете использовать find
:
const locations = [
{"location": "first", "head":"This is first the head", "paragraph":"kommtNoch"},
{"location": "second", "head":"This is the second head", "paragraph":"kommtNoch"},
{"location": "third", "head":"This is the third head", "paragraph":"kommtNoch"}
]
const red = document.querySelectorAll('#container > div');
const handleMouseOver = e => {
const o = locations.find(o => e.target.getAttribute('elID') === o.location)
e.target.innerText = o.head
}
red.forEach(el => el.addEventListener('mouseover', handleMouseOver))
<div id="container">
<div elID="first">first</div>
<div elID="second">second</div>
<div elID="third">third</div>
</div>
Опять же, я не уверен, что вы пытаетесь сделать, но похоже, что вы также хотите добавить больше слушателей событий для обработки mouseleave
событие, чтобы отменить изменения.