Frage Was ist, wenn ein Link ein "#" - Zeichen enthält?


Ich habe einige Websites überprüft und sie haben ein Pfund (#) Zeichen in der URL. Was tut es?

 <a href="#" >Link name</a>

76
2018-05-10 03:44


Ursprung


Antworten:


Es ist ein "Fragment" oder "benannter Anker". Sie können verwenden, um zu verknüpfen Teil eines Dokuments. Wenn Sie eine Verknüpfung zu einer Seite herstellen, wird der Browser normalerweise oben auf der Seite geöffnet. Aber Sie verlinken zu einem Abschnitt auf halbem Weg, Sie können das Fragment verwenden, um zu dieser Überschrift (oder was auch immer) zu verlinken.

Wenn es keine gibt <a name="whatever"/> Tag innerhalb der Seite, dann wird der Browser nur zum Anfang der Seite verlinken. Wenn das Fragment leer ist, wird es auch nur zum Anfang der Seite verlinken.

Für ein Fragment nur  <a href="#">Link name</a>, dann ist das nur ein Link zur Spitze des Strom Seite.

Sie sehen oft diese Art von Link in Verbindung mit Javascript. Standardkonformes HTML erfordert a href Attribut, aber wenn Sie planen, die Anfrage mit Javascript zu bearbeiten, dann dient "#" als ein angemessener Platzhalter.


95
2018-05-10 03:47



... nur um ein paar zusätzliche nützliche Tipps hinzuzufügen.

Sie können darauf zugreifen und es ändern document.location.hash in JavaScript.

Es kann auf einen benannten Anker zeigen (z. <a name="top"></a>) oder zu einem Element mit einer entsprechenden ID (z.B. <div id="top"></div>).

Einen selbst sehen (z.B. <a href="#" onclick="pop()">popup</a>) bedeutet in der Regel, dass ein Link ausschließlich zum Ausführen von JavaScript verwendet wird. Das ist schlechte Praxis.

Irgendein a Element sollte a haben href Dies verweist auf eine gültige Ressource. Wenn Sie nicht vorhanden sind, sollten Sie ein anderes Element wie z button.


23
2018-05-10 04:06



# kennzeichnet einen Link zu einem Anker.

Ich dachte, ich würde auch etwas anderes erwähnen:

Das Verwenden von '#' als href für einen Link, der JavaScript aktiviert, ist schlecht, weil die Seite nach oben scrollt - was wahrscheinlich nicht das ist, was Sie wollen. Verwenden Sie stattdessen javascript:void(0).


10
2018-05-10 04:38



Das Pfundzeichen (#) gibt an, einen Anker auf der Seite zu finden. Zum Beispiel, wenn Sie dies irgendwo auf der Seite einfügen:

<a name="foo"></a>

oder, neuerdings:

<div id="foo">*part of page*</div>

und dann klicken Sie auf einen Link auf der Seite mit dem href #foo, wird es zum Anker mit dem Namen oder navigieren div mit der ID foo.

Allerdings, wenn Sie nur die href haben #Es führt zum Anfang der Seite.


7
2017-09-09 21:31



Dies führt zurück zur Seite selbst. Es wird oft mit Links verwendet, die tatsächlich etwas JavaScript ausführen.


2
2018-05-10 03:45