在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。

关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:

•对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。

•对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

上面的描述也许有点模糊,举几个例子就知道了。

<a href="http://www.baidu.com" target="_self" class="btn">百度</a>

这个例子里<a>元素的DOM属性有“href、target和class",这些属性就是<a>元素本身就带有的属性,也是W3C标准里就包含有这几个属性,或者说在IDE里能够智能提示出的属性,这些就叫做固有属性。处理这些属性时,建议使用prop方法。

这个例子里<a>元素的DOM属性有“href、id和action”,很明显,前两个是固有属性,而后面一个“action”属性是我们自己自定义上去的,<a>元素本身是没有这个属性的。这种就是自定义的DOM属性。处理这些属性时,建议使用attr方法。使用prop方法取值和设置属性值时,都会返回undefined值。

再举一个例子:

像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。

$("#chk1").prop("checked") == false
$("#chk2").prop("checked") == true

如果上面使用attr方法,则会出现:

$("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"

您可能感兴趣的文章:

最新文章

  1. .NET Core 和 .NET Framework 之间的关系
  2. python运算符和表达式
  3. linux web服务器必需的库文件
  4. JDK1.5新特性(六)&hellip;&hellip;Generics
  5. Java语言导学笔记 Chapter 9 IO
  6. android-SQLite 和 Content
  7. virtualbox中新版本Ubuntu安装软件增强包后重启无限登录界面的解决办法
  8. 开源力量公开课第三十期- 跟我一起玩转OpenStack
  9. ZOJ 1204 一个集合能组成多少个等式
  10. 2.Nginx日常维护技巧
  11. tornado+websocket+mongodb实现在线视屏文字聊天
  12. perl 读取Excel写入txt 乱码
  13. VS中的类模板
  14. Final版本互评——杨老师粉丝群《PinBall》
  15. uva 10344 23 out of 5 凑运算结果 全排列+dfs
  16. 发送邮件(单独文字)的方法(网易邮箱 OR QQ邮箱)
  17. bzoj 1017 : [JSOI2008]魔兽地图DotR
  18. 基于js仿汽车之家2015新版焦点图代码
  19. Java之DelayQueue实际应用
  20. spring注解@Value取不到值【转】

热门文章

  1. [VC]C++ operator 两种用法
  2. POJ-1459 Power Network---最大流
  3. iOS开发学习之大牛们的博客
  4. 浅谈KD-Tree
  5. python_33_文件操作2
  6. macbook pro开机键盘键盘和触摸板没反应问题
  7. 关于JavaScript中的事件代理(例子:ul中无数的li上添加点击事件)
  8. STL之deque用法
  9. redis redis-cli 操作指令
  10. L2TP用户添加和删除、搜索脚本