我经常在网页中看到下面的href。然而,我不明白这是要做什么,也不明白这是什么技术。有没有人能详细解释一下?
<a href="javascript:;"></a>发布于 2011-10-13 21:55:15
除非具有href或name属性,否则<a>元素是无效的HTML.
如果你想让它正确地呈现为一个链接(如下划线、指针等),那么它只有在有href属性的情况下才会这样做。
因此,有时会将这样的代码用作创建链接的一种方式,但不必在href属性中提供实际的URL。开发人员显然希望链接本身不做任何事情,这是他所知道的最简单的方法。
他可能在其他地方有一些javascript事件代码,当点击链接时触发,这将是他实际希望发生的事情,但他希望它看起来像一个普通的<a>标记链接。
一些开发人员将href='#'用于相同的目的,但这会导致浏览器跳转到页面的顶部,这可能不是我们想要的。他不能简单地将href留空,因为href=''是一个指向当前页面的链接(即它会导致页面刷新)。
有一些方法可以绕过这些事情。在href中使用空的Javascript代码就是其中之一,尽管这不是最好的解决方案,但它确实有效。
发布于 2011-10-13 21:51:20
基本上,不是使用链接来移动页面(或锚点),而是使用此方法启动一个javascript函数
<script>
function doSomething() {
alert("hello")
}
</script>
<a href="javascript:doSomething();">click me</a>单击该链接将触发警报。
发布于 2011-12-14 02:07:04
有几种机制可以避免链路到达其目的地。问题中的问题并不是很直观。
一种更简洁的选择是使用href="#no",其中#no是文档中未定义的锚点。
您可以使用更具语义的名称,如#disable或#action,以提高可读性。
该方法的好处:
通过使用javascript href="#"
的“上移”效果
缺点:
必须确保在document.
由于<a>元素不充当链接,因此在这些情况下,最好的选择不是使用<a>元素,而是使用<div>,并提供所需的类似链接的样式。
https://stackoverflow.com/questions/7755088
复制相似问题