从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别


Posted in Javascript onJune 12, 2016

背景:

在清空input file标签选中值时,分别用了以下方法,发现有的对有的错:

【√】$("#file")[0].value = "";
【√】$("#file")[0].value = null;

【×】$("#file").attr("value","");
【×】$("#file").attr("value",null);
【√】$("#file").val("");
【√】$("#file").val(null);

为什么同样是改变value值,得到的结果却不同呢?

释疑:

查阅stackoverflow《jQuery .val() vs .attr(“value”)》Question,里面解答如下:

The gist is that .attr(...) is only getting the objects value at the start (when the html is created). val() is getting the object's property value which can change many times.

翻译过来就是:

.val()设置的是input的value属性,input是HTMLInputElement的实例,value是通过setter方法定义的,当被赋值时,就会把值写到input里面;而改变value属性的方法,实际上操作的是dom的value属性,会触发浏览器的repaint,更新input的值。

以上所述是小编给大家介绍的从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript 三种不同位置代码的写法
Oct 25 Javascript
页面加载完成后再执行JS的jquery写法以及区别说明
Feb 22 Javascript
jquery实现在页面加载的时自动为日期插件添加当前日期
Aug 20 Javascript
js选项卡的制作方法
Jan 23 Javascript
JS正则表达式验证账号、手机号、电话和邮箱是否合法
Mar 08 Javascript
JavaScript简单拖拽效果(1)
May 17 Javascript
ECMAscript 变量作用域总结概括
Aug 18 Javascript
JS返回顶部实例代码
Aug 09 Javascript
深入理解JavaScript 中的执行上下文和执行栈
Oct 23 Javascript
vue 开发之路由配置方法详解
Dec 02 Javascript
解决vue+ element ui 表单验证有值但验证失败问题
Jan 16 Javascript
详解Vue的options
May 15 Vue.js
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
Jun 12 #Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
Jun 12 #Javascript
javascript jquery对form元素的常见操作详解
Jun 12 #Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
Jun 12 #Javascript
浅谈JS中逗号运算符的用法
Jun 12 #Javascript
Node.js Addons翻译(C/C++扩展)
Jun 12 #Javascript
基于JS代码实现当鼠标悬停表格上显示这一格的全部内容
Jun 12 #Javascript
You might like
php文件操作之小型留言本实例
2015/06/20 PHP
jquery获取多个checkbox的值异步提交给php的方法
2015/06/24 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
javascript白色简洁计算器
2015/05/04 Javascript
javascript无刷新评论实现方法
2015/05/13 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
2020/07/28 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
jQuery实现的自动加载页面功能示例
2016/09/04 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
Angular.js去除页面中显示的空行方法示例
2017/03/30 Javascript
Vue select 绑定动态变量的实例讲解
2020/10/22 Javascript
python操作redis方法总结
2018/06/06 Python
pygame实现简易飞机大战
2018/09/11 Python
python使用Matplotlib画饼图
2018/09/25 Python
Python多进程fork()函数详解
2019/02/22 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
pyQT5 实现窗体之间传值的示例
2019/06/20 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
Python生态圈图像格式转换问题(推荐)
2019/12/02 Python
django 链接多个数据库 并使用原生sql实现
2020/03/28 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
查询优化的一般准则有哪些
2015/03/08 面试题
社会实践心得体会
2014/01/03 职场文书
入党转预备思想汇报
2014/01/07 职场文书
见习期自我鉴定
2014/01/31 职场文书
工程类专业自荐信范文
2014/03/09 职场文书
挂职学习心得体会
2014/09/09 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
少儿励志名言(80句)
2019/08/14 职场文书
python实现批量提取指定文件夹下同类型文件
2021/04/05 Python
Redis基于Bitmap实现用户签到功能
2021/06/20 Redis
业余无线电通联Q语
2022/02/18 无线电
如何Tomcat中使用ipv6地址
2022/05/06 Servers