什么时候用button,什么时候用a标签
一、问题
能实现链接功能的标签一般就a标签,button标签,input submit标签
input submit肯定是提交表单的时候用
那什么时候用button,什么时候用a标签
能用a标签的地方尽量使用a标签么?
只有在例如type=submit的时候才使用button标签?
是否a标签比button标签更好?原因是什么?
那一个按钮 点击弹出来弹窗,或者一个按钮点击触发一个事件(例如收藏),用什么比较好?
二、解答
特意去翻了之前看过的一篇文章。
你不能创造一个按钮
个人觉得主要三个原因:
-
尊重一个标签被创造出来时的初衷
-
在PC端使用tab或者方向键切换焦点后,按下enter键,button(input[type=button])的click事件会被触发而其他标签不会。
-
你想实现一个disabled属性时,a标签需要一句似乎麻烦一些
语义上说,a
一般是链接,一般指向一个地址;button
是按钮,一般点击后调用本页方法。
实际上随你便,只要你写的代码没有看了想开除你,想用什么都无所谓
另外,button
貌似默认就是type=submit
吧,放在表单里的裸button
点击就提交表单了,不过我一般用input type=submit
,除非是按钮里需要放一些比较花哨的内容时才会用button
需要添加链接,或者直接从服务端get数据的用a标签。其他地方button可以的话就用button。没有哪个便签比哪个更好,只有哪个标签更适用哪些场景。你可以通过以下方法权衡一下:
1.需要与后端进行数据交互吗?不需要的话button即可
2.要与后端交互?如果是get方式的话使用a标签很方便。如果是post等方式,用button,绑定ajax事件即可
具体看情况,按钮功能上用input或者button都可以。
但是button里面可以嵌套内容,input则不行,所以具体情况具体看。
a标签一般用作超链接或者锚链接。
理论上你用一个a标签也可以做出button的样式。所以具体还是要看实际情况的。