Зачем использовать javascript: void (0) вместо # в href?

Я вижу много <a href="javascript:void(0);"> на html-страницах. Из того, что я читал, он ничего не делает, возвращая undefined. Как это отличается от <href="#">

Ответ 1

<a href="#">link</a>

добавляет # в URL-адрес браузера и переходит в начало страницы.

<a href="javascript:void(0);">link</a>

просто "игнорирует" ссылку.

<a href="#" onclick="return false;">link</a>

также игнорирует href.

Не забывайте, что в некоторых случаях javascript может быть отключен (очень редко).

Ответ 2

# может перейти в другое место на странице. Кроме того, он изменяет URL-адрес

Ответ 3

href="javascript:void(0); для случая, когда вы хотите, чтобы он ничего не делал, но все равно выглядел как ссылка. (синий и подчеркивание).

это просто как: javascript:return undefined;

Зачем?

Потому что кто-то может сделать: undefined=function(){}

# - это якорь, который отправляет вас в начало страницы.