javascript - anchor href 中的唯一哈希值?

标签 javascript html

在我从事的项目中,我最近从开发后端(即非网络)服务器转向与网络相关的事情。在 HTML 代码中,我到处都发现了以下内容:

<a href='#'>some link</a>

然后一些 JS 附加到 click <a>的事件元素。

这个唯一的哈希值有什么特殊含义吗?我怎么理解 href='#some_id'告诉浏览器滚动到 ID = some_id 的元素.但是href='#'不是这样的,对吧? 如果一切都是为了创建一段可点击的文本,为什么不简单地使用 <span> 呢? ?

最佳答案

没错。你在这里看到的是某种糟糕的设计(尽管使用 href="#" 很常见)。

如果不阻止默认操作,它实际上会跳转到页面顶部。

会更好

  • 使用<button>并相应地设置样式(甚至可能仅通过 JavaScript 插入)
  • 或者让链接指向一些真实的资源(在服务器端触发一些 Action )并附加 JavaScript 事件处理程序以在客户端执行此(或类似) Action 并防止跟随链接(关键字:unobtrusive JavaScript ).

这还取决于网站是否打算在禁用 JavaScript 的情况下运行。如果是,那么这样的链接(也是一个按钮)将不起作用。

但无论如何,从语义的 Angular 来看,仅使用链接来获得“可点击”的内容是错误的。

关于javascript - anchor href 中的唯一哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6572522/

相关文章:

javascript - 如何修补 formArray 中的值

javascript - 选项卡 Bootstrap 处于事件状态时如何更改标题文本?

javascript - Lodash 将数组转换为对象

html - 如何防止与 float 相邻的长内联 block 元素移动到新行?

javascript - 封闭变量是什么意思?

javascript - Babel 插件 : How to get the path for a given node?

HTML5 按钮不会与文本区域的最右侧对齐

php - 打开/关闭标签和性能?

HTML:单击不同的选项卡可保持页面上的位置,但我希望它向上滚动

html - 是否可以在甜蜜警报 2 中添加整个 Angular 组件?