Что это, когда ссылка имеет знак "#" в ней - PullRequest
84 голосов
/ 10 мая 2010

Я проверил некоторые сайты, и в них есть знак фунта (#). Что это делает?

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

Ответы [ 5 ]

101 голосов
/ 10 мая 2010

Это «фрагмент» или «именованный якорь». Вы можете использовать ссылку на часть документа. Обычно, когда вы ссылаетесь на страницу, браузер открывает ее вверху страницы. Но вы ссылаетесь на раздел на полпути вниз, вы можете использовать фрагмент для ссылки на этот заголовок (или любой другой).

Если на странице нет тега <a name="whatever"/>, то браузер просто сделает ссылку на верхнюю часть страницы. Если фрагмент пуст, он также будет просто ссылаться на верх страницы.

Для фрагмента только <a href="#">Link name</a>, тогда это просто ссылка на верхнюю часть текущей страницы.

Вы часто видите ссылки такого рода, используемые в сочетании с javascript. HTML, соответствующий стандартам, требует атрибута href, но если вы планируете обрабатывать запрос с помощью javascript, тогда "#" будет подходящим заполнителем.

23 голосов
/ 10 мая 2010

... просто чтобы добавить несколько дополнительных полезных советов.

Вы можете получить доступ и изменить его с помощью document.location.hash в JavaScript.

Может указывать на именованный якорь (например, <a name="top"></a>) или на элемент с соответствующим идентификатором (например, <div id="top"></div>).

Самостоятельный просмотр (например, <a href="#" onclick="pop()">popup</a>) обычно означает, что ссылка используется исключительно для запуска JavaScript. Это плохая практика.

Любой элемент a должен иметь href, который указывает на допустимый ресурс. Если один из них не существует, рассмотрите возможность использования другого элемента, такого как button.

11 голосов
/ 10 мая 2010

# указывает на ссылку на якорь.

Думаю, я бы также упомянул кое-что еще:

Использование '#' в качестве ссылки для ссылки, которая активирует JavaScript, плохо, потому что она прокручивает страницу вверх - что, вероятно, не то, что вам нужно Вместо этого используйте javascript:void(0).

9 голосов
/ 10 сентября 2014

Знак фунта (#) указывает на то, чтобы найти якорь на странице. Например, если вы включите это где-то на странице:

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

или, совсем недавно:

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

и затем вы нажимаете на ссылку на странице, которая имеет href #foo, она перейдет на якорь с именем или div с идентификатором foo.

Однако, если у вас просто есть href #, это приведет к началу страницы.

2 голосов
/ 10 мая 2010

Это ссылка на саму страницу. Он часто используется со ссылками, которые на самом деле работают с JavaScript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...