博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jquery版本号升级不兼容的问题:$("input").attr("value")功能发生改变...
阅读量:7082 次
发布时间:2019-06-28

本文共 792 字,大约阅读时间需要 2 分钟。

之前项目中使用的是jquery-1.6.3.js,在这个版本号中,假设我们想获取输入框的值,能够使用$("input").attr("value")或者是$("input").val(),这2种方式是等价的。

$("#speed").attr("value");$("#speed").val();

 

近期到了还有一个项目组,使用的是jquery-2.1.1.js,结果发现了问题。我使用的是IE10浏览器。

$("#speed").attr("value");//始终是45

假设text控件给了默认值,那么使用attr("value")得到的结果始终是45,不会得到输入控件实际输入的值。

 

$("#speed").attr("value");//始终是undefined

假设text控件没有设置value属性,那么使用attr("value")得到的结果始终是undefined。

 

经过測试,无论是1.6.3版本号,还是2.1.1版本号,使用val()函数。总是可以成功获取输入框的实际值。

$("#speed").val();//可以得到输入框的实际值

 

我又尝试了1.9.1版本号,发现attr("value")和val()的表现跟2.1.1版本号是一致的。

不知道jquery是从哪儿个版本号发生改变的。反正以后大家使用jquery时须要注意这个问题。假设没有想到版本号升级带来的不兼容问题。那么可能会找不到问题的所在。由此可见版本号升级是一件非常有风险的事情。一定要经过充分的验证,最好能有自己主动化的验证用例。假设全部的測试用例都能通过,那么基本意味着。版本号的API功能都是兼容的,升级后风险相对来说非常小。假设不明确版本号发生的改变。就冒然升级。风险非常大。

 

转载于:https://www.cnblogs.com/gavanwanggw/p/7367983.html

你可能感兴趣的文章
[面试∙网络] TCP/IP(四):TCP 与 UDP 协议简介
查看>>
浅谈 Objective-C Associated Objects
查看>>
编程或者软件开发到底算不算知识?
查看>>
iOS UI绘制原理
查看>>
JavaScript 二进制的 AST
查看>>
自定义控件(三) 源码分析measure流程
查看>>
不需要再手写 onSaveInstanceState 了,因为你的时间非常值钱
查看>>
SSL/TLS协议安全系列:CBC 模式的弱安全性介绍(一)
查看>>
几种通用防注入程序绕过方法
查看>>
Clickjacking简单介绍
查看>>
Android Tangram模型:手把手带你学习淘宝、天猫都在用的UI框架模型
查看>>
《JavaScript设计模式与开发实践》基础篇(1)—— this、call 和 apply
查看>>
Android TransactionTooLargeException 解析,思考与监控方案
查看>>
Android音频处理知识(一)MediaRecorder录制音频
查看>>
SpringBoot+Vue.js前后端分离实现大文件分块上传
查看>>
Node.js环境性能监控
查看>>
CSS在没有设置高度的情况下如何让同级元素高度相等?
查看>>
Elastic Stack学习--elasticsearch部署常见问题
查看>>
Oracle 手工清理临时段
查看>>
通过git远程管理自己本地的工程
查看>>