Ce code particulier dans une balise est généralement vu dans un exemple de code impliquant JavaScript. Le plus souvent, vous le verrez ressembler à quelque chose comme où le but principal de la balise est de fournir un lien sur lequel les gens peuvent cliquer pour exécuter du JavaScript.
Lorsqu'il est utilisé dans un exemple de code comme celui-ci, le # est un espace réservé représentant l'endroit où vous souhaitez que le lien aille réellement si la personne visitant votre page n'a pas activé JavaScript..
Lorsque vous voyez href = "#" dans le code en direct sur une page Web, cela signifie que la personne qui a écrit la page a fait une erreur. Vous ne devriez jamais voir href = "#" dans le code source réel d'une page Web car le # en lui-même est en fait invalide et dénué de sens.
Chaque fois que vous attachez JavaScript à un lien, que ce soit comme ça ou en utilisant un équivalent discret, vous devez toujours considérer également ceux qui, pour une raison quelconque, n'ont pas activé JavaScript. le retour faux à la fin de mon exemple ci-dessus empêche le href d'être réellement utilisé si le JavaScript s'exécute, mais le href est toujours ce qui sera utilisé si, pour une raison quelconque, le JavaScript ne s'exécute pas. Le href doit donc contenir une valeur réelle valide en fonction de l'endroit où vous souhaitez que le lien emmène les personnes qui ne disposent pas de JavaScript. Étant donné que la personne qui a écrit le JavaScript pour vous ne sait pas où vous voulez que ces personnes soient emmenées, elle vient d'insérer un # dans leur code où vous devez remplacer la véritable adresse.
Un # est valide dans un attribut href à condition qu'il ne soit pas le seul caractère de la valeur. Lorsque le # est suivi de caractères supplémentaires, ces caractères supplémentaires représentent la valeur d'un attribut id ailleurs dans la page Web actuelle et la page sautera pour afficher la balise contenant cet identifiant aussi près que possible du haut de la fenêtre du navigateur. Par exemple, sautera dans la même page Web. Si vous avez également un nom de fichier précédant le #, l'ID vers lequel il ira se trouvera dans cette page Web et passera donc à cet ID sur la page next.htm.
Un caractère # n'est pas valide en tant que dernier caractère du href car il implique que vous souhaitez passer à un identifiant dans la page mais que la valeur de l'identifiant à atteindre n'a pas été spécifiée. L'action que le navigateur doit entreprendre dans ce cas n'est pas définie, mais la plupart vont simplement revenir en haut de la page actuelle.
Alors, que faites-vous si le JavaScript que vous souhaitez attacher est tel qu'il n'y a pas d'alternative pour ceux sans JavaScript? Eh bien, dans ce cas, vous ne voulez pas que ceux sans JavaScript voient le lien, car s'il est visible pour eux, certains d'entre eux cliqueront dessus et vous n'avez rien que vous vouliez qu'il fasse pour eux et que sera juste déroutant. La solution consiste donc à s'assurer que le lien n'est visible que pour ceux avec JavaScript activé et la façon de le faire est d'ajouter le lien dans la page Web en utilisant JavaScript.
Ce n'est que là où le est ajouté à la page Web à l'aide de JavaScript que vous pouvez être sûr que tout le monde en cliquant sur le lien aura JavaScript activé et donc le code doSomething () s'exécutera et le href = "#" sera ignoré. Alors et seulement alors, cela a du sens de laisser le # à cet endroit dans le code car l'attribut href est requis pour que certains navigateurs acceptent le code comme un lien valide et où vous savez que les seules personnes à voir le Le lien aura JavaScript activé, vous savez également que personne ne sera donc jamais amené à l'endroit où pointe le href et qu'il peut donc contenir n'importe quoi sans que cela ait d'importance et donc # est une valeur aussi bonne que n'importe laquelle et est certainement mieux que href = "javascript:" (qui est une construction qui ne doit jamais être utilisée, que quelque chose suive les deux points ou non).