il contenuto di href="" viene interpretato dal browser, giustamente, come se fosse una pagina... nel tuo caso vengono eseguite le istruzioni javascript, quindi il contenuto della pagina viene cambiato... interpretando cio' che e' racchiuso fra le virgolette: uno script, cioe' un [object]

Per far funzionare correttamente un link simile occorre distinguere due fasi: il momento in cui l'utente clicca, ed il momento in cui il browser "esegue" l'haref, che viene dopo.

quindi:
link

In questa sintassi il browser esegue l'istruzione associata all'evento onclick ed in seguito esegue l'href... ricaricando la stessa pagina, con spiacevoli effetti secondari.

Per evitare che il link venga eseguito e' sufficiente far seguire alle istruzioni javascript un semplice

return false;

che informa il browser della nostra volonta' di non proseguire nell'elaborazione... ignorando il link.

quindi:

link

Scusa il linguaggio "maccheronico"... ma spero di esser stato chiaro

oppure correggi la tua sintassi... che per altre vie persegue lo stesso scopo:

a

ciao