我有一个包含超链接标签的<button>
,看起来像这样:
<button class="btn"><a href="#"></a></button>
这在Chrome和Safari中运作良好,但在Firefox(版本20已经测试)中无法工作。
问题出在哪里?
我有一个包含超链接标签的<button>
,看起来像这样:
<button class="btn"><a href="#"></a></button>
这在Chrome和Safari中运作良好,但在Firefox(版本20已经测试)中无法工作。
问题出在哪里?
<a href="#"><button class="btn"></button></a>
或者根据Billy Moat的建议,在使用Bootstrap时不需要<button>
,您可以直接执行
<a href="#" class="btn">GO</a>
可能最好只是这样做:
<a href="#" class="btn">Go!</a>
这个问题发生在FF和IE(< 10)中。
当button标签用作链接时,浏览器会出现问题。
在Bootstrap中的快速解决方案是使用<a>标签,并赋予btn btn-default类(或您选择的按钮样式)。
但是,在表单中(例如提交按钮),您可以使用<button>标签而不会有问题。
如果您无法更改HTML结构,可以简单地使用onclick方法,而不是更改HTML结构。这可能是因为某些原因不允许您进行更改(例如bootstrap组件作为列表组,这是我的情况呵呵),主要是因为您想在按钮内放置两个或多个链接:
<button class="btn"><a onclick="location.replace('YOUR_URL_HERE')"></a></button>
<a>
标签嵌套在<button>
内部,或反之亦然,都违反了HTML规则,并且无法通过代码验证器检查:<a>
不能作为<button>
元素的后代出现。” button 标签中使用location.href
。
<button onclick="location.href='http://www.example.com'" type="button"> www.example.com </button>
<button onclick="window.location.href='/css_page.html'">CSS page</button>
这对我来说很有效,可以保留Bootstrap btn-group的样式:
<button class="btn btn-default" onclick="location.replace('YOUR_URL_HERE')">Click Me</button>