web-dev-qa-db-fra.com

pourquoi le nom de l'ancre a-t-il une barre oblique à l'URL?

J'essaie de faire ce qui devrait être l'un des html les plus élémentaires, mais cela ne fonctionne pas pour moi. Voici mon code:

<a name="rocket"></a>
<div>
<h3>The Title</h3>
<p>some text</p>
</div>

Je souhaite utiliser le nom de l'ancre pour parcourir la page de contact jusqu'à la section appropriée.

Lorsque j'utilise un lien dans la page de contact comme ceci:

<a href="#rocket">click here</a>

ça fonctionne bien. Mais je veux venir d'une autre page et ensuite voler. Donc j'utilise ceci:

<a href="http://mysite.com/contact#rocket">click here</a>

mais il semble ajouter une barre oblique après le contact et rediriger vers http://mysite.com/contact/#rocket , ce qui signifie qu'il reste en haut de la page de contact au lieu de voler vers le bas.

Est-ce que quelqu'un sait pourquoi cela se passe? Si vous pouviez me diriger dans la bonne direction, je vous en serais reconnaissant.

Merci,

Yukon

ps, j'ai lu toutes les questions similaires sur ce site, mais elles ne m'aident pas.

5
Yukon Cornelius

Il est normal que l’URL devienne http://monsite.com/contact/#rocket , mais vous devriez changer la façon dont vous définissez votre ancre sur la page cible.

Au lieu d'utiliser cette méthode

<a name="rocket"></a>
<div>
<h3>The Title</h3>
<p>some text</p>
</div>

Vous devez ajouter un identifiant au contenu auquel vous souhaitez accéder comme ceci:

<div id="rocket">
<h3>The Title</h3>
<p>some text</p>
</div>

De cette façon, votre balise HTML est plus propre et il n’ya pas d’élément <a> supplémentaire pour le saut.

7
Ben Cole