从重置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 相关文章推荐
jquery实现图片裁剪思路及实现
Aug 16 Javascript
jquery easyui滚动条部分设置介绍
Sep 12 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
jQuery实现动态添加和删除一个div
Aug 12 Javascript
js漂浮广告实现代码
Aug 15 Javascript
jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
Aug 25 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
Node.js简单入门前传
Aug 21 Javascript
优雅的elementUI table单元格可编辑实现方法详解
Dec 23 Javascript
使用layui日期控件laydate对开始和结束时间进行联动控制的方法
Sep 06 Javascript
js blob类型url的视频下载问题的解决
Nov 29 Javascript
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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
使用PHPMailer实现邮件发送代码分享
2014/10/23 PHP
PHP SplObjectStorage使用实例
2015/05/12 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
JS正则替换去空格的方法
2017/03/24 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
vue组件 $children,$refs,$parent的使用详解
2017/07/31 Javascript
基于jQuery解决ios10以上版本缩放问题
2017/11/03 jQuery
基于js 各种排序方法和sort方法的区别(详解)
2018/01/03 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
vue如何使用async、await实现同步请求
2019/12/09 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
Windows下Python2与Python3两个版本共存的方法详解
2017/02/12 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
Python时间序列缺失值的处理方法(日期缺失填充)
2019/08/11 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
Python使用requests模块爬取百度翻译
2020/08/25 Python
python统计mysql数据量变化并调用接口告警的示例代码
2020/09/21 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
HTML5梦幻之旅——炫丽的流星雨效果实现过程
2013/08/06 HTML / CSS
客户经理岗位职责
2013/12/08 职场文书
新学期教师寄语
2014/04/02 职场文书
授权委托书(公民个人适用)
2014/09/19 职场文书
委托证明范本
2014/11/25 职场文书
司机岗位职责范本
2015/04/10 职场文书
在python中实现导入一个需要传参的模块
2021/05/12 Python
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
java实现面板之间切换功能
2022/06/10 Java/Android