hrefexpression式<a href="javascript:;"> </a>做什么?
我已经看到不时在网页中使用以下的href。 但是,我不明白这是试图做什么或技术。 有人可以详细说明吗?
<a href="javascript:;"></a>
除非具有href
或name
属性,否则<a>
元素是无效的HTML。
如果你想把它作为一个链接正确的渲染(比如下划线,手形指针等等),那么只有当它有一个href
属性的时候才会这样做。
因此,这样的代码有时用作制作链接的一种方式,而不必在href
属性中提供实际的URL。 开发者显然希望链接本身不要做任何事情,这是他知道的最简单的方法。
他可能在其他地方有一些JavaScript事件代码,当点击链接时触发,这将是他想要实际发生的事情,但他希望它看起来像一个正常的<a>
标记链接。
有些开发人员使用href='#'
来达到同样的目的,但这会导致浏览器跳转到页面的顶部,这可能不是我们想要的。 而且他不能简单地把href留空,因为href=''
是一个回到当前页面的链接(即它会导致页面刷新)。
有围绕这些东西的方法。 在href
使用一段空的Javascript代码就是其中之一,尽pipe它不是最好的解决scheme,但它确实有效。
有几种机制可以避免链接到达目的地。 从问题的一个不是很直观。
清洁选项是使用href="#no"
,其中#no
是文档中的非定义锚。
您可以使用更多的语义名称,如#disable或#action来提高可读性。
方法的好处:
- 避免空href =“#”的“移动到顶部”效果
- 避免使用JavaScript
缺点:
- 您必须确保文档中未使用锚定名称。
由于<a>
元素不作为链接,所以在这些情况下最好的select是不使用<a>
元素,而是使用<div>
并提供所需的链接样式。
基本上,而不是使用链接来移动页面(或锚),使用此方法启动JavaScript函数(S)
<script> function doSomething() { alert("hello") } </script> <a href="javascript:doSomething();">click me</a>
点击链接将触发警报。
<a href="javascript:alert('Hello');"></a>
只是简写:
<a href="" onclick="alert('Hello'); return false;"></a>
参考这个:
<a href="Http://WWW.stackoverflow.com">Link to the website opened in different tab</a> <a href="#MyDive">Link to the div in the page(look at the chaneged url)</a> <a href="javascript:;">Nothing happens if there is no javaScript to render</a>
老线程,但认为我只是补充说,开发人员使用这种构造的原因是不创build一个死链接,但由于JavaScript的URL由于某种原因不能正确地传递给活动HTML元素的引用。
例如handler_function(this.id)
作为onClick
但不作为JavaScript的URL。
因此,在编写符合标准的迂回代码时,需要手动调整每个超链接的调用,或者可以编写一次并在任何地方使用的稍微不规范的代码。
这是一种使链接在单击时绝对没有任何操作的方式(除非Javascript事件绑定到它)。
这是一种运行Javascript而不是链接的方式:
<a href="Javascript: doStuff();">link</a>
当没有真正的JavaScript运行(如你的例子),它什么都不做。
始终正确显示链接的最佳方法是使用以下CSS:
a {cursor: pointer !important}
应该避免跟随在线程中提到的不必要的事情。
<a href="javascript:void(0);"></a>
javascript:
告诉浏览器去编写javascript代码