【问题标题】:Meaning of HTML <a> element with href="javascript:;" [duplicate]带有 href="javascript:;" 的 HTML <a> 元素的含义[复制]
【发布时间】:2014-06-08 01:20:53
【问题描述】:

我偶尔会看到一个 HTML &lt;a&gt; 元素,其 href 属性是一个 URI,其中只有 javascript 用于方案,而一个空语句 ; 用于路径。

  • 这样做的目的是什么?

  • href="javascript:void(0);"一样吗?

  • 和根本没有href属性一样吗?

  • 和根本没有&lt;a&gt;元素一样吗?

更新

我看到的确切内容是&lt;a href="javascript:;" style="cursor: default;"&gt;&lt;/a&gt;。那么这只是控制光标图形的一种方式吗?

【问题讨论】:

  • 1.目的是拥有一个没有默认 HTML 操作的锚元素 2. 是 3. 是 4. 否,因为您仍然可以将锚点与(例如)onclick 事件处理程序或单击事件侦听器一起使用
  • 关于最后一个要点:“有一个&lt;a&gt;怎么可能和“没有一个&lt;a&gt;”一样 ?
  • @Cerbrus:就像&lt;div&gt;text&lt;/div&gt;text 一样,除了任何CSS 含义
  • 感谢重复问题的建议,但都没有地址href="javascript:;"。如果它与href="#"href="javascript:void(0)" 相同,请写下它作为答案,但我看不到这个特定问题的重复

标签: javascript html


【解决方案1】:

您可以通过以下几个步骤来理解:

<a onclick="foo()">Next Image</a>
<a href="#" onclick="foo()">Next Image</a>
<a href="javascript:foo()">Next Image</a>
<a href="javascript:void(0)" onclick="foo()">Next Image</a>
<a href="#" onclick="foo(); return false;">Next Image</a>

方法 1 通常不会将鼠标光标更改为“手形光标”,因此在某些情况下可能并不理想。

方法 2 似乎有时会导致页面在 IE 6 和 IE 7 上转移到新位置。(到页面顶部?)

方法 3 ...应该可以工作...但这是一种老式的方法吗?现代浏览器应该避免使用它吗?

方法 4 应该可以正常工作。void-the-void/ 作者似乎建议它有时可能会中断并尽量不要使用href="javascript:[anything]"

方法 5 可能效果最好?根据上面的文章,这可能是最好的方法,因为它不使用 href="javascript:[something]" 并且 return false 部分将导致 href="#" 不被评估,所以这是最好的方法吗?非常感谢!

【讨论】:

  • 谢谢。 &lt;a href="javascript:;"&gt;&lt;/a&gt; 在哪里适合这个方案?
  • href="" 将链接到与您当前所在的页面相同的页面,从而有效地刷新页面。 href="#" 不会刷新页面,但使用 # 将使屏幕移动到页面顶部(它是浏览器有效地寻找没有名称的锚点, )。 javascript:void(0) 将完全防止链接上发生任何事情。
  • 再次感谢您,但您还没有解决我关于href="javascript:;"的问题
  • 当我们创建一个链接来解决我们运行 JavaScript 代码的目的时,有两种方法来编写代码。就功能、页面加载速度、验证目的等而言,哪个更好? 运行 JavaScript 代码 运行 JavaScript 代码
  • 我明白了,但你还没有提到href="javascript:;"。它在哪里适合这个方案?
猜你喜欢
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-03
  • 2014-05-08
  • 1970-01-01
相关资源
最近更新 更多