从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
发布时间:2016-12-30 来源:查字典编辑
摘要:背景:在清空inputfile标签选中值时,分别用了以下方法,发现有的对有的错:【√】$("#file")[0].value="";【√】$...

背景:

在清空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教程学习
编程开发子分类