Значения атрибутов id должны быть уникальны, а не как у вас - одинаковое у нескольких элементов. Так что первое, что надо сделать - вырезать
id="link"
.
При использовании инлайновых (встроенных) обработчиков событий ссылка на элемент доступна посредством ключевого слова
this
; а вместо того, чтобы выдумывать какие-то стрёмные id для блоков которые надо показать, поднимайтесь при клике до общего предка блока и кликнутого элемента, и ищите блок через
querySelector
:
onclick="showTooltip(this)"
function showTooltip(link) {
const div = link.parentNode.querySelector('div');
if (div.style.display === 'none') {
div.style.display = 'block';
link.style.display = 'none';
} else {
div.style.display = 'none';
}
}
Но вообще - к чёрту onclick, вырежьте его и назначайте обработчики по-человечески:
document.querySelectorAll('.contacts-number a').forEach(n => {
n.addEventListener('click', onClick);
});
function onClick() {
const div = this.closest('.contacts-number').querySelector('div');
if (div.style.display === 'none') {
div.style.display = 'block';
this.style.display = 'none';
} else {
div.style.display = 'none';
}
}