我发现很多时候页面都使用“a”标签,并且希望使其像按钮一样。就像这样:

<a href="#" class="button" onclick="...." />

我对为什么不只使用“按钮”标签感到困惑?像这样:
<button onclick="....">button</button>

有什么区别?
我真的很想学习,谢谢!

另外一个情况问题:

如下所示的三个“类似按钮的标记”:

暗示:
  • 不同的一个调用ajax然后获得不同的期间记录
  • 需要使用onclick =“location.replace()”,因为可以顺利返回上一页。

  • 原始代码:
    <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 。没有理由使用onclickbutton,而您只是在创建一个简单的超链接,这就是 anchor 的用途。

    查看更多