Если нужно вешать событие на однотипный набор элементов, то лучшим решением будет повешать событие на их общего родительского элемента, а к самым элементам получать доступ внутри колбек-функции обработчика события через
event.target
.
<ul id=parent>
<li data-id="1">child 1</li>
<li data-id="2">child 2</li>
<li data-id="3">child 3</li>
</ul>
document.querySelector('#parent').addEventListener('click', event => {
const id = event.target.getAttribute('data-id');
if (!id) return; // prevent event in non data-id elenent
// ... some code
})