J'ai inspecté certains sites et ils ont un signe dièse (#) dans l'URL. Qu'est ce que ça fait?
<a href="#" >Link name</a>
C'est un "fragment" ou "une ancre nommée". Vous pouvez utiliser pour créer un lien vers une partie d'un document. Généralement, lorsque vous créez un lien vers une page, le navigateur l'ouvre en haut de la page. Mais vous créez un lien vers une section à mi-chemin, vous pouvez utiliser le fragment pour créer un lien vers cet en-tête (ou autre).
Si il n'y a pas <a name="whatever"/>
balise dans la page, le navigateur créera simplement un lien vers le haut de la page. Si le fragment est vide, il sera également lié au haut de la page.
Pour un fragment uniquement <a href="#">Link name</a>
, il ne s'agit que d'un lien vers le haut de la page actuelle .
Vous voyez souvent ce genre de lien utilisé en conjonction avec javascript. Le HTML conforme aux normes nécessite un href
attribut, mais si vous prévoyez de traiter la demande avec javascript, alors "#" sert d'espace réservé raisonnable.
... juste pour ajouter quelques conseils utiles supplémentaires.
Vous pouvez y accéder et le modifier avec
document.location.hash
JavaScript.Il peut pointer vers une ancre nommée (par exemple
<a name="top"></a>
) ou vers un élément avec un identifiant correspondant (par exemple<div id="top"></div>
).En voir un seul (par exemple
<a href="#" onclick="pop()">popup</a>
) signifie généralement qu'un lien est utilisé pour exécuter JavaScript exclusivement. C'est une mauvaise pratique.Tout
a
élément doit avoir unhref
qui pointe vers une ressource valide. S'il n'en existe pas, envisagez d'utiliser un autre élément, tel quebutton
.la source
#
indique un lien vers une ancre.Je pensais que je mentionnerais également autre chose:
Utiliser '#' comme href pour un lien qui active JavaScript est mauvais car il fait défiler la page vers le haut - ce qui n'est probablement pas ce que vous voulez. Utilisez plutôt
javascript:void(0)
.la source
javascript:void(0)
plus - utilisez unbutton
si ce n'est pas un lien.Le signe dièse (
#
) indique de localiser une ancre sur la page. Par exemple, si vous incluez ceci quelque part sur la page:ou, plus récemment:
puis vous cliquez sur un lien sur la page qui a le href
#foo
, il naviguera vers l'ancre avec le nom oudiv
avec l'identifiantfoo
.Cependant, si vous n'avez que le href
#
, cela mènera au haut de la page.la source
Cela renvoie à la page elle-même. Il est souvent utilisé avec des liens qui exécutent en fait du JavaScript.
la source