jQuery中使用attr(), prop(), val()获取value的异同
2016-02-05 23:48
741 查看
jQuery中有3个获取元素value值的函数比较相似:attr(), prop(), val();拿来比较一下。
示例代码:
代码如上所示,为输入框设定了初始值:123,此时点击按钮,控制台输出为:
改变输入框的值,此时控制台输出:
如果我们没有为文本框设定初始值,即删除value=”123”后,依旧使用如上js代码,则相应输出如下:
attr()输出为undefined,而prop()和val()输出为“空”。
输入value值后:控制台输出为:
attr()输出依然为undefined,而prop()和val()则输出实际值。
可见,prop()和val()都能获取到文本框的实际value值,而attr()获取的则始终为文档结构中的value的属性值,与文本框实际值无关,并不会变化。
示例代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <script src="jquery-2.1.4.js"></script> </head> <body> <input type="text" value="123"/> <button id="btn">click</button> <script> $("#btn").click(function(){ var attr=$("input").attr("value"); var prop=$("input").prop("value"); var val=$("input").val(); console.log(attr); console.log(prop); console.log(val); }) </script> </body>
代码如上所示,为输入框设定了初始值:123,此时点击按钮,控制台输出为:
123 123 123
改变输入框的值,此时控制台输出:
123 123thgf 123thgf
如果我们没有为文本框设定初始值,即删除value=”123”后,依旧使用如上js代码,则相应输出如下:
undefined
attr()输出为undefined,而prop()和val()输出为“空”。
输入value值后:控制台输出为:
undefined asdasd asdasd
attr()输出依然为undefined,而prop()和val()则输出实际值。
可见,prop()和val()都能获取到文本框的实际value值,而attr()获取的则始终为文档结构中的value的属性值,与文本框实际值无关,并不会变化。
相关文章推荐
- jQuery8(常见方法next.prev等,常见方法练习)
- jQuery7(多条件选择器,层次选择器)
- jQuery4(3种选择器,选择器获取元素)
- jQuery4(Dom与jQuery对象的相互转换)
- jQuery.extend函数详解--
- JQuery3(map,each,trim方法)
- jQuery2(JQuery实现onload)
- jQuery1(jQuery介绍及$)
- 【jQuery基础学习】12 jQuery学习感想
- JQuery里的原型prototype分析
- 【jQuery基础学习】11 jQuery性能简单优化
- 带有分散效果的瀑布流(jQuery实现)
- jQuery validate 日期比较 自定义验证方法
- jQuery下的瀑布流效果(改)
- 14 jquery/js语法
- jQuery工具函数
- 利用jquery,访问ashx,调用ironPython模块功能
- jQuery DataTables 使用手册(精简版)
- jquery 改变checkbox的值
- Myeclipse里导入jQuery.js 时出现错误打红叉的解决方法