Как через DOM дерево при нажатии на кнопку высвечивался alert с моим текстом и текстом html элемента?

let arrFish = document.getElementsByClassName('fish-list-card-name')

function eventAlertClick (e) {
  console.log()
  alert (`Подтвердите, что хотите купить рыбу`) 
}

let eventClick = document.querySelectorAll('button')

for (let i = 0;i < eventClick.length; i++) {
  eventClick[i].addEventListener('click', eventAlertClick)
}

// 1 строчка это массив имен рыб, не понимаю как мне развесить на кнопке alert и обращаться к конкретной рыбе на странице, не меняя разметку html


Ответы (1 шт):

Автор решения: nazarpunk

addEventListener(`click`, e => {
  if (!e.target.classList.contains(`buy-fish`)) return;

  alert(`Подтвердите, что хотите купить ${e.target.dataset.name}?`);
});
div {
  margin-bottom: 1rem;
  border: 1px solid purple;
  padding: 1rem;
}
<div>
  Окунь
  <button data-name='окунёв' class='buy-fish'>Купить</button>
</div>
<div>
  Карась
  <button data-name='карасёв' class='buy-fish'>Купить</button>
</div>
<div>
  Щука
  <button data-name='щуков' class='buy-fish'>Купить</button>
</div>

→ Ссылка