我发现很多时候页面都使用“a”标签,并且希望使其像按钮一样。就像这样:
<a href="#" class="button" onclick="...." />
我对为什么不只使用“按钮”标签感到困惑?像这样:
<button onclick="....">button</button>
有什么区别?
我真的很想学习,谢谢!
另外一个情况问题:
如下所示的三个“类似按钮的标记”:
暗示:
原始代码:
<a href="url" class="btn" >Today</a>
我已更改为:
<a href="#" onclick="location.replace(url)" class="btn" >Today</a>
考虑关于:
<button onclick="location.replace(url)">Today</button>
在这种情况下,您会怎么做?使用按钮标签是否有误?
最佳答案
这基本上是历史文物。
它源于将自定义样式应用于 anchor 要容易得多的时候。您可以通过在 anchor 自身内部使用更多元素来轻松构建自动调整大小的“按钮式” anchor 。
如今,借助增强的CSS选项和更好的浏览器兼容性,这是不必要的。当button
是正确的语义元素时,您没有理由改为使用a
。
因此,请使用 anchor 链接到其他页面。它应该始终具有href
,而不是仅使用#
和onclick
。现在,您仍然可以使用onclick
-只需确保href
将您定向到与onclick
相同的数据即可。当您想让搜索机器人导航您的网站时,这非常方便,即使实际用户会看到例如响应速度更快的界面(例如,通过AJAX下载更新的内容)。确保在新窗口/选项卡中打开链接的常用方法仍然有效(ctrl + click,右键单击和中键单击均不应执行onclick
操作)。
按钮是与您当前所在的页面进行交互的元素,无论这意味着执行客户端脚本编写或向服务器发送表单。
编辑:
通过对问题的编辑,很明显,您应该简单地使用带有常规href
的 anchor 。没有理由使用onclick
或button
,而您只是在创建一个简单的超链接,这就是 anchor 的用途。