Primeiro, href
é melhor incluir o URL, pois permite aos usuários copiar links, abrir em outra guia etc.
Em alguns casos (por exemplo, sites com alterações frequentes de HTML), não é prático vincular links sempre que houver uma atualização.
Método típico de ligação
Link normal:
<a href="https://www.google.com/">Google<a/>
E algo assim para JS:
$("a").click(function (e) {
e.preventDefault();
var href = $(this).attr("href");
window.open(href);
return false;
});
Os benefícios desse método são a separação clara de marcação e comportamento e não precisam repetir as chamadas de função em todos os links.
Método sem vinculação
Se você não deseja vincular todas as vezes, no entanto, pode usar onclick e passar o elemento e o evento, por exemplo:
<a href="https://www.google.com/" onclick="return Handler(this, event);">Google</a>
E isso para JS:
function Handler(self, e) {
e.preventDefault();
var href = $(self).attr("href");
window.open(href);
return false;
}
O benefício desse método é que você pode carregar novos links (por exemplo, via AJAX) sempre que quiser, sem ter que se preocupar em vincular todas as vezes.