Code non valide: que signifie href = "#"?

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 retourner faux à la fin de mon exemple ci-dessus empêche le href effectivement utilisé si le Javascript s'exécute mais le href est toujours ce qui sera utilisé si pour une raison quelconque le JavaScript ne fonctionne pas. Le href doit donc contenir une valeur valide réelle basée sur 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.

instagram viewer

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 sont la valeur d'un attribut id ailleurs dans le la page Web actuelle et la page sautera pour afficher la balise contenant cet identifiant le plus près possible du haut du navigateur fenêtre. Par exemple va sauter à

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 retourneront simplement 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 ceux sans Javascript pour voir le lien du tout, 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 cela sera tout simplement 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.

Seulement là où le est ajouté à la page Web en utilisant JavaScript, vous pouvez être sûr que tout le monde en cliquant sur le lien avoir JavaScript activé et tat 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 puisque l'attribut href est requis afin que certains navigateurs acceptent le code comme un lien valide et où vous savez que les seules personnes à voir le lien auront Javascript activé, vous savez également que personne ne finira donc jamais par être amené à l'endroit où pointe le href et qu'il peut donc contenir n'importe quoi sans que cela ait d'importance et ainsi # est une valeur aussi bonne que n'importe quelle autre et est certainement meilleure que href = "javascript:" (qui est une construction qui ne doit jamais être utilisée, que quelque chose suive les deux points ou non).

instagram story viewer