什么时候用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的样式。所以具体还是要看实际情况的。

什么时候用button,什么时候用a标签的更多相关文章

  1. a标签中可以加button,但是不提倡;button中不能加a标签,否则不能跳转

    a标签中可以加button,但是不提倡:button中不能加a标签,否则不能跳转

  2. 如何解决button,a,input标签自带蓝色边框

    通常我们会设置该标签outline:0;但是我在使用iview自带的button组件的时候,设置无效,经过测试只要设置 :focus{      outline:0; }  即可,方便有效

  3. 让button居中显示的的标签

    <center> <input type="button" class="buttoncls" style="width:80px& ...

  4. button提交表单 a标签提交表单

    <form name="searchForm" id="searchForm" method="get" action="/ ...

  5. 【js & jquery】遮罩层实现禁止a、span、button等元素的鼠标事件

    刚才在写一个界面,其中为了考虑背景图片的缘故,所以没用Button而是用的a标签 在点击之后应该禁用掉a元素,禁用对于button比较容易,加一个disabled就可以了 但是对于a却没有太好的办法, ...

  6. [Learn AF3]第四章 App framework组件之Button

    Button    组件名称:Button     是否js控件:否     使用说明:如果说panel组件是af3的“核心(heart of the ui)”,那么Button就是af中的五虎上将之 ...

  7. antd button

    引用 :import { Button } from 'antd'; <Button type = "primary" //按钮样式颜色 shape = "circ ...

  8. button在firefox 和 ie 下的问题

    最近做了一个关于数据库管理的项目,因为不用考虑ie9以下的兼容性,所以一股脑的写完啦,到测试的时候发现了一个bug IE和火狐下有个模块关闭按钮的hover没有反应,ie不行就算了,火狐怎么也不行?我 ...

  9. amazeui学习笔记--css(HTML元素1)--按钮Button

    amazeui学习笔记--css(HTML元素1)--按钮Button 一.总结 1.button的基本使用:a.am-btn 在要应用按钮样式的元素上添加 .am-btn,b.颜色 再设置相应的颜色 ...

  10. web前端基础知识

    #HTML    什么是HTML,和他ML...    网页可以比作一个装修好了的,可以娶媳妇的房子.    房子分为:毛坯房,精装修    毛坯房的修建: 砖,瓦,水泥,石头,石子....    精 ...

随机推荐

  1. Pycharm-连接服务器

  2. 2018年湘潭大学程序设计竞赛 Fibonacci进制

    Fibonacci数是非常有名的一个数列,它的公式为 f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=2.  我们可以把任意一个数x表示成若干不相同的Fibonacci数的和, 比如说1 ...

  3. SSM中使用POI实现excel的导入导出

    环境:导入POI对应的包 环境: Spring+SpringMVC+Mybatis POI对应的包 <dependency> <groupId>org.apache.poi&l ...

  4. Tomcat IO阻塞异常

    tomcat的maxThreads.acceptCount(最大线程数.最大排队数) tomcat 的Connector配置如下 <Connector port="8080" ...

  5. Git 内部原理 - (1)底层命令和高层命令 (2Git 对象

    文章摘选自git官网,这里复制下来表示我已阅读并学习过一次这些内容: 无论是从之前的章节直接跳到本章,还是读完了其余章节一直到这——你都将在本章见识到 Git 的内部工作原理和实现方式. 我们发现学习 ...

  6. Laravel+vue实现history模式URL可行方案

    项目:laravel + vue 实现前后端分离.vue-router 默认 hash 模式 -- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. h ...

  7. WPF获得PNG图片外观Path数据

    原文:WPF获得PNG图片外观Path数据        WPF开发界面的时候,用的最多的就是自定义控件模板,开发人员需要根据UI的设计,做出符合要求的自定义控件.但是在一些特殊情况下,UI的设计可能 ...

  8. 隐马尔科夫模型(HMM)

    基本概念 1Markov Models 2Hidden Markov Models 3概率计算算法前向后向算法 1-3-1直接计算 1-3-2前向算法 1-3-3后向算法 4学习问题Baum-Welc ...

  9. LeetCode 107 Binary Tree Level Order Traversal II(二叉树的层级顺序遍历2)(*)

    翻译 给定一个二叉树,返回从下往上遍历经过的每一个节点的值. 从左往右,从叶子到节点. 比如: 给定的二叉树是 {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7 返回它从下 ...

  10. vue11 vue实例方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...