【问题标题】:How to properly use internal page links?如何正确使用内部页面链接?
【发布时间】:2020-01-07 09:23:52
【问题描述】:

我无法弄清楚我遇到的问题 - 在 Google 或 ESLint 手册中找不到任何合适的匹配项。

考虑页面,我希望在该页面中拥有指向某些部分的内部链接(例如,评论部分):

...
<a href="#comments">Comments: 3</a>
...
<a name="comments"/>
...

在这样的代码上,我有 2 个问题需要解决:

  1. 第二个链接没有内容(如果我不想在这种情况下有内容怎么办?)。
  2. 第二个链接没有href attr(也不应该是'void',但是如果没有'href'怎么办?)

我在网络上找不到任何帮助,所以我想知道 - 它是以不同的方式完成的还是什么?

编辑

指定疑问:

  • 我正在使用 React/JSX
  • 问题在于 JSX 的 Eslint 插件:eslint-plugin-jsx-a11y,抱歉没有指出 =/

【问题讨论】:

  • 这和 ESLint 有什么关系?这是一个 JavaScript linter,但你显示的是 HTML‽
  • 是的,抱歉——这实际上是 eslint 的 JSX 问题

标签: jsx eslint


【解决方案1】:

由于您没有说明此问题针对的是哪个 HTML 版本,因此我假设 HTML 5。标签不能自关闭,因此您必须将其拆分为开始和结束标签。如果您不想要内容,请不要在标签之间添加内容:

...
<a name="comments"></a>
...

下一个问题是已弃用的name 属性。请改用id

...
<a id="comments"></a>
...

这应该可以解决您的问题,但您应该考虑删除标记并将id 属性放在后面的任何内容中,并且可以用作引用id 的标记的目标。

【讨论】:

  • 谢谢!我通常不使用 HTML5 编写,也没有注意到现在哈希链接应该指向 ID,而不是 a:name 元素。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 2013-04-27
  • 2021-11-06
  • 2012-12-12
  • 1970-01-01
  • 2021-12-05
  • 2016-05-30
相关资源
最近更新 更多