为什么使用`javascript:void(0)`而不是`javascript:`作为href什么都不做占位符?

Bry*_*eld 14 html javascript href placeholder

我已经看到了href="javascript:void(0)",我已经看到href="javascript:;" 有什么理由我不会只使用它href="javascript:"吗?

编辑:让我说清楚:我正在将其与一个结合起来,onclick并且return false如果有必要使用替代方案,则不反对使用.当然,这只有在替代方案更有意义的情况下才能实现javascript:.

另外,我还没有在第一段中看到我的问题答案(显然我认为).谢谢,大卫.:)

我已经看到了href="javascript:void(0)",我已经看到href="javascript:;" 有什么理由我不会只使用它href="javascript:"吗?

Spu*_*ley 18

就个人而言,我也避免使用它们.我会onclick='return false;'改为,而且只是设定href='#'.

为什么?因为如果您将Javascript代码放在href中,则当您将鼠标悬停在链接上时,它会显示在浏览器的状态栏中,就像任何其他URL一样.它看起来很乱.

实际上,因为它无论如何都会被忽略,你可以将任何你喜欢的URL放入其中href,而不仅仅是哈希.哈希是最安全的,以防你的用户禁用Javascript,但除此之外,它可能是任何东西.

但是我必须指出:有一个<a>带有href 的标签变为无效的Javascript代码似乎相当于首先失去了<a>标记的重点.我可以看到你想如何在运行时启用和禁用链接,但只是将href设置为void似乎有点无意义.如果它不是一个真正的链接,为什么不只是有一个<span>或一些其他标签.如果你必须使它看起来像一个链接,那么在CSS中这样做是微不足道的.

  • 哈希符号旨在用作锚点而不是用于此目的.当您以这种方式使用它时,您将不时得到不良影响,例如您的页面遍布整个地方. (8认同)

dav*_*vid 10

不回答你的问题,但可能会对它有所了解,一些早期版本的浏览器如netscape在使用脚本时遇到了问题href.

void经营者几乎只能强行点击什么也不做.

现在,通过浏览器正确实现"伪URL",您可以安全地使用javascript:;.

  • `javascript :;`为什么不`javascript:`? (3认同)