I typed in <a href="javascript:void(0);"> when I realised... why? It's going to be a clickable link that triggers a javascript event.

Wouldn't it be better to simply omit the href attribute, it's not required after all. It seems the only reason to include the href is to force the hand cursor. Since this is possible with CSS is there any semantic or compatibility reason to include the href attribute at all?

Further to that: Should it even be an <a> tag or should I just use a clickable div/li/whatever the parent element is?

I'm interested in the best practice pros/cons of it.