<button>有什么好的做法?可以替换<a> or is it only meant for forms?</a> </button>

时间:2011-11-10 19:53:15

标签: html user-interface

<button>有什么好的做法?

它可以替换<a>标记,还是仅用于表单?

4 个答案:

答案 0 :(得分:4)

链接链接到某事 - 至少它应该!执行以下操作在语义上是错误的:

<a href="#" onclick="doSomething(); return false;">Do something</a>

这应该替换为按钮,因为它就是为了这个目的 - 它作为用户(程序员)指定的东西的触发器;因此,<button type="button">元素的目的并不清楚。相比之下,链接的目的非常明确 - 它应该指向某个地方!

由于HTML是一种标记语言,如果您不认为SEO,那么您所做的事情并不重要。您可以使用<a>标记使用<button>标记实现相同的功能,例如<span>可以完全按照<div> - 进行语义操作,这是不正确的

答案 1 :(得分:2)

确实取决于公司惯例,但我的经验buttons通常在页面未重定向(包括但不限于表单)时使用,而<a>用于指导用户时到新页面。

答案 2 :(得分:1)

如果您想使用<button>标记替换常规链接(<a href="...">),您将面临以下缺点:

  • 它看起来不像链接所以只会增加混乱。
  • 您需要使用JavaScript来使按钮执行某些操作。
  • 搜索引擎和其他工具将无法关注此链接。
  • 您将无法查看已访问的链接。
  • 用户无法再决定在新标签页中打开链接,检查目标位置或复制网址。

我现在想不出任何优势。

答案 3 :(得分:1)

<button>仅适用于表单元素。在Opera中,您可以使用 a q Ctrl +箭头导航链接,每个 tab 都可以访问表单元素。< / p>

所以,不,你不应该用另一个元素替换一个元素。