Я видел следующий href, используемый время от времени на веб-страницах. Тем не менее, я не понимаю, что это пытается сделать или техника. Может кто-нибудь уточнить, пожалуйста?
<a href="javascript:;"></a>
javascript
Джон Ливермор
источник
источник
javascript:
схему там, где ее не следует использовать (onclick="javascript:…"
)Ответы:
<a>
Элемент является недопустимой HTML , если он не имеет либоhref
илиname
атрибут.Если вы хотите, чтобы он правильно отображался как ссылка (то есть подчеркнутый, указатель руки и т. Д.), Он будет делать это только в том случае, если у него есть
href
атрибут.Поэтому подобный код иногда используется для создания ссылки, но без
href
указания фактического URL-адреса в атрибуте. Разработчик, очевидно, хотел, чтобы сама ссылка ничего не делала, и это было самым простым способом, который он знал.У него, вероятно, есть какой-то код события javascript в другом месте, который срабатывает при нажатии на ссылку, и это именно то, чего он хочет на самом деле, но он хочет, чтобы он выглядел как обычная
<a>
ссылка тега.Некоторые разработчики используют
href='#'
для той же цели, но это заставляет браузер переходить к началу страницы, что может быть нежелательно. И он не мог просто оставить href пустым, потому чтоhref=''
это ссылка на текущую страницу (т.е. она вызывает обновление страницы).Есть способы обойти эти вещи. Использование пустого фрагмента кода Javascript в
href
является одним из них, и хотя это не лучшее решение, оно работает.источник
return false;
илиevent.preventDefault()
тогдаhref
действие никогда не будет вызвано, так что вы можете добавить туда что-то более разумное.<a>
Безhref
илиname
не инвалид; это можно легко проверить с помощью валидатора.#
фрагмент , он никогда не отправляется на веб-сервер (или, следовательно, на брандмауэр); он используется только внутри браузера. В этом случае нажатие на ссылку, помеченную<a href="#">
...</a>
, не приведет к тому, что ваш браузер отправит какие-либо HTTP-запросы; все, что он будет делать, это прокрутить до верхней части страницы.в основном, вместо использования ссылки для перемещения страниц (или якорей), использование этого метода запускает функцию (и) javascript
щелкнув ссылку, вы получите предупреждение.
источник
Существует несколько механизмов, позволяющих избежать ссылки на место назначения. Тот из вопроса не очень интуитивно понятен.
Опция очиститель для использования ,
href="#no"
где#no
не является определен якорь в документе.Вы можете использовать более семантическое имя, например #disable или #action, чтобы повысить удобочитаемость.
Преимущества подхода:
Недостатки:
Поскольку
<a>
элемент не действует как ссылка, лучшим вариантом в этих случаях является не использование<a>
элемента, а a<div>
и предоставление требуемого стиля ссылки.источник
это просто сокращение для:
источник
Это способ заставить ссылку ничего не делать при нажатии (если с ней не связаны события Javascript).
Это способ запуска Javascript вместо перехода по ссылке:
Когда на самом деле нет JavaScript для запуска (как в вашем примере), он ничего не делает.
источник
Обратитесь к этому:
источник
javascript:
говорит браузеру писать код JavaScriptисточник
Старый поток, но я хотел бы просто добавить, что разработчики используют эту конструкцию не для того, чтобы создать неработающую ссылку, а потому, что URL-адреса javascript по какой-то причине неправильно передают ссылки на активный элемент html.
Например,
handler_function(this.id)
работает как,onClick
но не как JavaScript-URL.Таким образом, это выбор между написанием педантически совместимого со стандартом кода, который требует от вас вручную настроить вызов для каждой гиперссылки, или слегка нестандартным кодом, который можно написать один раз и использовать везде.
источник
Поэтому он используется для написания js-кодов внутри,
href
а не для прослушивателей событий, таких как ссылки,onclick
и позволяет избегать#
ссылок,href
чтобы сделатьa
теги действительными для html.У меня было исследование о том, как использовать
javascript:
внутриhref
атрибута.С помощью этого кода вы даже можете писать там js-коды, а не только вызывать функции.
Протестировано в chrome версии 68.0.3440.106 (Официальная сборка) (64-битная версия)
Протестировано в Firefox Quantom 61.0.1 (64-битная версия)
источник
Лучший способ всегда правильно отобразить ссылку - использовать css следующим образом:
Следует избегать ненужных вещей, упомянутых в ветке.
источник