18910140161

HTML-2021版本的“是否允许在`<button>`(正式)中设置`<a>`?”问题-堆栈溢出

顺晟科技

2022-10-19 11:54:46

169

我不擅长查找和理解官方的w3c规范,所以请耐心等待。

我想知道的是,在2021年,我是否可以在HTML元素中正式使用交互式(可通过href=“”单击)锚标记:

以前的文章指出,只允许短语化内容,根据MDN的说法,只有当内容不包含交互式链接时才考虑短语化内容(href=“”)。本文包含此类信息:https://css-tricks.com/use-button-element/

MDN声明相同,只允许没有交互性的措辞内容。

其他人认为将按钮包装在锚标记中是应该做的(2021年8月(!))。

据我所知,如果我想让按钮将用户发送到另一个URL(除非我想使用JS click事件),唯一允许的选项是将按钮包装在表单中:

有关此问题的权威来源有任何提示吗?


顺晟科技:

在按钮中包装锚点

不能在a中包含锚,因为当前spec规定了以下内容模型:

措辞内容,但不能有交互式内容后代

其中交互式内容包括“(如果属性存在)”


在锚点中包装按钮

不能在锚点中包含a,因为spec规定

[...]不能有交互式内容[...]

其中交互式内容包括


所以我可以确定的其余选项是:

  • 将您设置为锚,或将您的锚设置为
  • 使用事件处理程序
  • 用a包装
  • 随心所欲,希望您需要支持的浏览器足够允许您原谅您的错误
  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航