在<button>中嵌套<a>不适用于Firefox

我有一个带有超链接标签的<button> ,看起来像这样:

 <button class="btn"><a href="#"></a></button> 

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

怎么了?

为了使它在所有浏览器中都能正常工作,Firefox也必须将其更改为

 <a href="#"><button class="btn"></button></a> 

或者如Billy Moat所build议的,在bootstrap的情况下,你不需要<button>就可以做

 <a href="#" class="btn">GO</a> 

可能更好的做法是:

 <a href="#" class="btn">Go!</a> 

这个问题发生在FF和IE(<10)。 当浏览器用作链接时,它并不喜欢标签button。

引导程序中的快速解决scheme是使用并给出一类btn btn-default(或者您select的button样式)。

但是,你可以在表单中使用(例如提交button),你不应该有一个问题。

你可以简单地使用一个onclick方法,而不是改变HTML结构,如果你不能改变你的结构,因为某些东西不允许你改变(例如引导组件,如列表组,这是我的情况嘿嘿)你想把两个或更多的链接放在一个button中:

 <button class="btn"><a onclick="location.replace('YOUR_URL_HERE')"></a></button>