【问题标题】:Why is the hashtag used for an achor link's placeholder?为什么主题标签用于锚链接占位符?
【发布时间】:2013-06-28 03:33:50
【问题描述】:

我经常在其他网站和教程中看到,当锚点的目的不仅仅是作为链接时,它通常有一个主题标签 (#) 作为href 属性的值。我正在我目前正在处理的项目的列表中创建一系列列表,我很想自己这样做,但我担心这可能会使团队中其他开发人员正在努力的系统复杂化,因为这个标签点击后出现在地址栏中。

以这种方式取消href有缺点吗?我假设它不是由于这种方法的流行使用,但主题标签是否可能会弄乱使用 GET 的函数?

【问题讨论】:

  • 锚只能用于链接\引用页面的一部分。如果您只想更改光标?使用 css(光标:**)
  • @Dagon 如果一个链接是一个类的一部分,它的动作是由 jQuery 决定的呢?滚动帖子下的共享/编辑/删除/标记链接,我要问的是为什么主题标签用作占位符,如果使用主题标签会在其他相关编码语言中产生任何问题?
  • @FrankPresenciaFandos 这篇文章更多的是关于光标而不是在href 位置使用主题标签,没有人解释为什么这样做 - 这是实际的问题。
  • 这就是你发布单个问题的原因,当你发布多个这样的问题时很难回答。 # 仅在浏览器端可见,因此它只能影响客户端语言。

标签: php html get


【解决方案1】:

不用担心,“哈希标签”很好用,十年来一直是标准的一部分,不会影响 GET。 “锚标签”<a>原本就是为了这个目的。

您可以使用它来创建“跳转链接”以跳转到文档的不同部分(锚点,用于 HTML 规范文档页面本身),或者作为与 javascript 结合使用的“hashbang”。

你不应该做的是无缘无故地使用<a>标签来获取指针光标。也就是说,如果当你点击它时它做了某事(通常是为什么你将指针光标放在某物上),无论是通过更改哈希、链接到新文档还是触发 javascript 函数,都没有理由不使用锚点标记,也不是坏习惯。

当您看到只有"#" 作为href 的锚点时,这通常表明开发人员打算将javascript 侦听器应用于元素。如果客户端没有可用的 javascript,空锚点充当无操作的后备。在这种情况下,用户单击链接并且没有任何反应。如果您使用渐进式增强原则,那么您可以在其中放置一个等效的非 JavaScript URI。

文档

【讨论】:

  • +1,很好的解释,我只想补充一点,主题标签在 HTML 模板中被广泛使用。
【解决方案2】:

正如 cmets 中所指出的,不要包含专门用于视觉“美”的 HTML 标记。这是 CSS 的任务,你应该学习separate concerns。对于 HTML/CSS:HTML = 信息,CSS = 演示。问问自己下次遇到类似问题时会发生什么。就个人而言,我会创建一个CSS class like this

.handy{
  cursor: pointer;
  }

然后将类添加到所需的每个元素:

<ul id = "menu">
  <li></li>
  <li class = "handy"></li>
</ul>

根据您的情况,另一种方法是这样编写 CSS:

#menu li {
  cursor: pointer;
  }

【讨论】:

  • 那么使用标签确实是一种不好的做法?那么我应该将 CSS 应用到我的锚点上吗?因为除非它里面有href,否则翻转不会显示指针光标。
  • 不,哈希标签很好,十年来的标准的一部分,不影响 GET。
  • @Joshie ,这本身并不是一个坏习惯,但我看到的唯一一个带有 some 意义的标签是在 HTML 模板中(稍后您将替换您的实际链接)。为什么要添加锚点?似乎只是让光标看起来像一个指针。如果您这样做,那么这确实是一种不好的做法。
猜你喜欢
  • 1970-01-01
  • 2021-02-19
  • 1970-01-01
  • 2022-07-07
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-17
相关资源
最近更新 更多