在<button>中嵌套<a>在Firefox中不起作用

cjm*_*ing 55 html firefox

我有一个<button>带有超链接标签的内容,如下所示:

<button class="btn"><a href="#"></a></button>
Run Code Online (Sandbox Code Playgroud)

这在Chrome和Safari中运行良好,但在Firefox中不起作用(测试版本20).

怎么了?

cjm*_*ing 57

为了使它在所有浏览器中都能运行,Firefox也必须将其更改为

<a href="#"><button class="btn"></button></a>
Run Code Online (Sandbox Code Playgroud)

或者如同Billy Moat在引导的情况下所建议的那样,<button>你不需要做任何事情

<a href="#" class="btn">GO</a>
Run Code Online (Sandbox Code Playgroud)

  • 是的,但是FYI - 第一个选项在bootstrap中使用按钮组时会破坏样式.:( (3认同)
  • 在锚点中包装按钮会使WHATWG和W3C验证器(https://html5.validator.nu/和https://validator.w3.org/)均失败。 (2认同)
  • 这似乎违反了规则。按钮不能嵌套在锚标签内。参见:/sf/ask/447567921/ (2认同)

Bil*_*oat 19

可能更好地做到这一点:

<a href="#" class="btn">Go!</a>
Run Code Online (Sandbox Code Playgroud)

  • 除了锚点不像按钮那样完全可以通过键盘导航。 (2认同)