// select all <a> tags
document.querySelectorAll('a')
// loop over them
.forEach(a =>
// append the event by calling addEventListener
a.addEventListener('click', () => window.prompt('Complete', 'Lorem')))
forEach
может принимать второй аргумент, индекс, так что вы можете определить сообщение в каждой подсказке в соответствии со значением массива.
const promptValue = [
'Lorem',
'ipsum',
'dolor',
'sit',
'amet'
]
document.querySelectorAll('a').forEach((a, i) =>
a.addEventListener('click', () => window.prompt('Complete', promptValue[i])))
Редактировать: Я, вероятно, должен добавить, что это может стать трудным для поддержания, если список изменит порядок в будущем, поэтому, вероятно, лучше сохранить некоторую ссылку на значение подсказки в HTML, даже если оно становится многословным.Тем не менее, плохо хранить сценариев в HTML, поэтому лучше использовать атрибут данных.
HTML :
<a data-prompt="Lorem">Lorem</a>
<a data-prompt="ipsum">ipsum</a>
<a data-prompt="dolor">dolor</a>
<a data-prompt="sit">sit</a>
<a data-prompt="amet">amet</a>
JS :
document.querySelectorAll('a').forEach(a =>
a.addEventListener('click', () => window.prompt('Complete', a.dataset.prompt)))