Where you see code that reads
<a href="#">something</a> the # is supposed to be replaced with whatever page you intend to have the link take people to if it isn't overriden by JavaScript - you should never actually use it in a live web page. If it isn't intended to be a link to anywhere for those without JavaScript then don't code an <a> at all in the HTML.
The one time when you might actually set the href to # is if the link is added from JavaScript and the script overrides the default action and you want the href there so that the browser adds it to the link collection and not the anchor collection. For example:
Code:
var a = document.createElement('a');
a.href="#";
a.onclick = function() {functiontorun(); return false;};
a.innerHTML = 'click here to run the function';
document.getElementById('addPoint').appendChild(a);