jquery中attr和prop的区别介绍
2024-09-28 22:42:11
在高版本的jquery引入prop方法后,什么时候该用prop?什么时候用attr?它们两个之间有什么区别?这些问题就出现了。
关于它们两个的区别,网上的答案很多。这里谈谈我的心得,我的心得很简单:
•对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。
•对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。
上面的描述也许有点模糊,举几个例子就知道了。
这个例子里<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"
您可能感兴趣的文章:
最新文章
- .NET Core 和 .NET Framework 之间的关系
- python运算符和表达式
- linux web服务器必需的库文件
- JDK1.5新特性(六)&hellip;&hellip;Generics
- Java语言导学笔记 Chapter 9 IO
- android-SQLite 和 Content
- virtualbox中新版本Ubuntu安装软件增强包后重启无限登录界面的解决办法
- 开源力量公开课第三十期- 跟我一起玩转OpenStack
- ZOJ 1204 一个集合能组成多少个等式
- 2.Nginx日常维护技巧
- tornado+websocket+mongodb实现在线视屏文字聊天
- perl 读取Excel写入txt 乱码
- VS中的类模板
- Final版本互评——杨老师粉丝群《PinBall》
- uva 10344 23 out of 5 凑运算结果 全排列+dfs
- 发送邮件(单独文字)的方法(网易邮箱 OR QQ邮箱)
- bzoj 1017 : [JSOI2008]魔兽地图DotR
- 基于js仿汽车之家2015新版焦点图代码
- Java之DelayQueue实际应用
- spring注解@Value取不到值【转】