jquery版本升级不兼容的问题:$("input").attr("value")功能发生改变
来源:互联网 发布:荧光手环淘宝网 编辑:程序博客网 时间:2024/06/05 09:43
之前项目中使用的是jquery-1.6.3.js,在这个版本中,如果我们想获取输入框的值,可以使用$("input").attr("value")或者是$("input").val(),这2种方式是等价的。
<input type="text" id="speed" />$("#speed").attr("value");$("#speed").val();
最近到了另一个项目组,使用的是jquery-2.1.1.js,结果发现了问题。我使用的是IE10浏览器。
<input type="text" id="speed" value="45"/>$("#speed").attr("value");//始终是45
如果text控件给了默认值,那么使用attr("value")得到的结果始终是45,不会得到输入控件实际输入的值。
<input type="text" id="speed" />$("#speed").attr("value");//始终是undefined
如果text控件没有设置value属性,那么使用attr("value")得到的结果始终是undefined。
经过测试,不管是1.6.3版本,还是2.1.1版本,使用val()函数,总是能够成功获取输入框的实际值。
<input type="text" id="speed" value="45"/>$("#speed").val();//能够得到输入框的实际值
我又尝试了1.9.1版本,发现attr("value")和val()的表现跟2.1.1版本是一致的。不知道jquery是从哪儿个版本发生改变的,反正以后大家使用jquery时需要注意这个问题。如果没有想到版本升级带来的不兼容问题,那么可能会找不到问题的所在。由此可见版本升级是一件非常有风险的事情,一定要经过充分的验证,最好能有自动化的验证用例。如果所有的测试用例都能通过,那么基本意味着,版本的API功能都是兼容的,升级后风险相对来说很小。如果不明白版本发生的改变,就冒然升级,风险很大。
0 0
- jquery版本升级不兼容的问题:$("input").attr("value")功能发生改变
- 关于jquery获取input的value问题
- 关于jquery获取input的value问题
- 关于jquery获取input的value问题
- 关于jquery获取input的value问题
- 关于jquery获取input的value问题
- jquery attr方法获取input的checked属性问题
- jquery attr()方法获取input的checked属性问题
- jquery attr方法获取input的checked属性问题
- jquery利用attr()方法改变checkbox控件状态的问题
- 从重置input file标签中看jQuery的 .val() 和 .attr(“value”) 区别
- jQuery操作input改变value属性值
- input propertychange事件,当input的value值发生改变时触发(文本框的值即时搜索)
- keil5MDK版本不兼容的问题
- input的value值在页面上被改变,但是查看器代码中值不改变
- jQuery attr("value") 和 val的区别
- jquery的attr方法与ie7不兼容,js获取html标签自定义属性
- jquery UI chrome 不兼容的问题
- @ResponseBody
- jqmobipanel内滚动插件jq.scroller.js
- CHINASSL提供免费在线CSR生成工具,申请SSL证书必备神器
- 图像预处理——滤波
- 德州仪器增强Jacinto信息娱乐处理器系列的DSP和视觉处理以提高数字化驾驶舱集成
- jquery版本升级不兼容的问题:$("input").attr("value")功能发生改变
- 程序员如何写出杀手级的简历
- Gossip算法
- OSI的七层协议架构
- 计算逆序数:在归并和快排两种排序过程中求得逆序数的方法比较
- cholesky分解
- nmake工具的用法
- keychain的使用(ios)
- 优化算法之梯度下降法