为什么开发人员使用href="javascript:;"
例如:A 标签的内容:
<a class="anchor" title="title" href="javascript:;" id="someId">...</a>
为什么开发人员使用href="javascript:;"
例如:A 标签的内容:
<a class="anchor" title="title" href="javascript:;" id="someId">...</a>
伪协议告诉浏览器下面javascript:
是点击链接时应该执行的 JavaScript 代码。您的示例中接下来的内容是无操作的,因此单击该链接不会执行任何操作。通常,当链接不用作链接而是用作按钮时,将使用此选项,其中编码器想要的实际行为由click
处理程序指定。
根据我的使用经验,如果人们使用<a href="www.google.com">
我可以右键单击并在新选项卡上打开它。但如果是href=javascript:openLink()
我无法在新标签页上打开它
好问题。这样他们的链接就不会做任何事情。开发人员可能正在使用 Jquery 的点击事件或类似的东西动态添加 javascript 函数。
这似乎是人们遗留下来的坏习惯。他们可能想要 href 的样式,但不想要它的功能。您可以轻松地做到这一点,而无需使用 href。在某种程度上,他们说“这是链接的价值”,然后立即“忽略我的链接的价值”。
这里有一个很好的讨论:Unobtrusive Javascript
根据 w3schools,href 的值应该是 url 或脚本。当有人这样做href="javascript:;"
他们正在使用什么都不做的脚本。他们只是这样做,以便他们可以使用 href 提供的样式/标签...在我看来,应该以另一种方式完成,例如使用 css 类。
同样根据w3schools,如果 href 不存在,则该标签不能使用某些其他属性,但在 HTML5 中,该标签只能用于超链接。