Есть ссылки
<a href="#tab1">Link 1</a>
<a href="#tab2">Link 2</a>
<a href="#tab3">Link 3</a>
Мне нужно вызвать разные функции, в зависимости на какую ссылку кликнули, так как подставить ссылкам id нет возможности, нужно определять ссылку по href
Как это реализовать?
используйте селектор с указанным значением атрибута, например a[href="#tab1"]
$("a[href='#tab1']").click(function(e){
e.preventDefault();
console.log('tab1');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#tab1">Link 1</a>
<a href="#tab2">Link 2</a>
<a href="#tab3">Link 3</a>
const tab1Fn = () => console.log('tab1');
const tab2Fn = () => console.log('tab2');
const tab3Fn = () => console.log('tab3');
document.querySelectorAll('a')
.forEach(a => a.addEventListener('click', ev => {
let id = ev.target.getAttribute('href').slice(1);
switch (id) {
case 'tab1': tab1Fn(); break;
case 'tab2': tab2Fn(); break;
case 'tab3': tab3Fn(); break;
default: return;
}
ev.preventDefault();
}));
<a href="#tab1">Link 1</a>
<a href="#tab2">Link 2</a>
<a href="#tab3">Link 3</a>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости