我正在做以下事情:

 <a href="www.stackoverflow.com">
   <button disabled="disabled" >ABC</button>
 </a>  

这工作得很好,但我得到一个HTML5验证错误,说“元素‘按钮’不能嵌套在元素‘按钮’。

谁能给我点建议,我该怎么做?


当前回答

如果它是有效的,那就太奇怪了,我认为它是无效的。将一个可点击元素置于另一个可点击元素之中意味着什么?是按钮,还是链接?

其他回答

如果你正在使用Bootstrap 3,这工作得很好

<a href="#" class="btn btn-primary btn-lg active" role="button">Primary link</a>
<a href="#" class="btn btn-default btn-lg active" role="button">Link</a>

说明及工作方案: 如何:div与onclick在另一个div与onclick javascript

通过在你的内部点击处理程序中执行这个脚本:

 if (!e) var e = window.event;
 e.cancelBubble = true;
 if (e.stopPropagation) e.stopPropagation();

在HTML5中,在链接中嵌入按钮元素是非法的。

最好在默认和:active(按下)状态下使用CSS:

body{background-color:#F0F0F0} /*只是为了突出边框*/ a.Button{填充:。background-color:#E0E0E0;font:normal 80% sans-serif;font-weight:700; a.Button:没有(主动):{border-left-color: # FFFFFF; border-top-color: # FFFFFF} a.Button:主动{border-right-color: # FFFFFF; border-bottom-color: # FFFFFF} <p><a class="Button" href="www.stackoverflow.com">点击我<a>

如果它是有效的,那就太奇怪了,我认为它是无效的。将一个可点击元素置于另一个可点击元素之中意味着什么?是按钮,还是链接?

另一种选择是使用按钮的onclick属性:

<button disabled="disabled" onClick="location.href='www.stackoverflow.com'" >ABC</button>

这是可行的,然而,用户不会看到链接显示在悬停,因为他们会看到它在元素中。