Il tag <a> deve avere l'attributo href per essere un link e deve avere l'attributo name (o anche id) per essere un'ancora.
la mancanza di uno dei due e` un errore, e in tal caso i brwoser si possono comportare come meglio credono.
Se non vuoi che il link abbia effetto, puoi mettere:
href="#" onclick="return false;"
- se c'e` gia` un JS collegato, il return false puo` esser posizionato alla fine della routine per impedire che il link venga eseguito
Oppure in alternativa:
href="javascript: return false;"
che puo` interferire con il JS del onclick, per cui non lo si mette se c'e` gia un JS