HTML-привязки (<a>
теги) определяют интерактивные ссылки, но только если присутствует атрибут href
. (Возможно, не существует элемента href
, но вместо этого есть либо name
, либо id
; в этом случае это не ссылка, а ссылка на для ссылки). See the HTML specification for more detail.
Элемент #
в атрибуте href
указывает на предопределенный якорь, например, http://domain.com/page#section
. В этом случае при нажатии ссылки браузер откроет страницу по адресу http://domain.com/page
, а в своем браузере браузер ожидает раздел под названием #section
, который определяется кодом <a name="section">
. Найдя этот раздел, браузер разместит экран в этом положении.
Когда раздел не указан, только #
предусмотрен, это означает, что это ссылка, указывающая на локальную страницу (или, более конкретно, в верхней части его). Если страница не находится наверху, она переместится вверх. Если он наверху, ничего не происходит.
Вы можете протестировать его с помощью файла creatin в формате HTML с ссылкой <a href="#">text</a>
, он будет доступен для кликабеля, но эффекта не будет (единственный эффект, если он не находится наверху, он будет прыгать вверх).
return false;
в конце кода JavaScript is there to prevent the "jump to the top", при его удалении браузер будет размещать свое представление в верхней части страницы при нажатии.
Некоторые утверждают, что href
всегда должен указывать на фактические ссылки и использовать #
заполнители - это плохая практика.
Дает ссылку «чувствовать», указательный палец и все. Это плохая практика, она должна использоваться в стиле. – tymeJV
'href =" # '- это плохая практика, но стиль в стиле * хуже *, так как он не может быть перемещен без указательного устройства (так что это действительно больно, например, пользователям экрана). реальный URL-адрес, который будет посещен, если JavaScript по какой-либо причине будет удален. – Quentin
Хм ... так @Quentin - Вы бы просто использовали фактический 'a' с отказоустойчивым' href'? – tymeJV