3.4.3 操作属性的相关方法
下面这组方法是操作DOM对象属性的通用方法,可以操作DOM对象的通用属性,例如title、alt、src等。
操作Attribute属性的方法
获取Attribute属性的attr方法
| 方法 | 描述 |
|---|---|
attr(name) |
访问jQuery 对象里第一个元素的name 属性。如果jQuery 对象里包含的DOM对象都没有name属性,则该方法返回undefined。name可以是title、alt、src、href等属性。 |
设置Attribute属性的attr方法
| 方法 | 描述 |
|---|---|
attr(map) |
用于为jQuery对象里的所有DOM对象同时设置多个属性。其中map是一个形如{name1:value1,name2:value2...}的对象,例如{"src":"logo.jpg"}。 |
attr(name,value) |
用于为jQuery对象里的所有DOM 对象设置单个属性。其中name是需要设置的属性名,value是需要设置的属性值。 |
attr(key, function) |
用于为jQuery对象里的所有DOM对象设置单个属性,但不是直接给定属性值,而是提供function函数,由function函数来计算各元素的属性值。function函数是一个形如function(index){}的函数,其中index代表各DOM元素在jQuery对象中的索引。 |
| ### 移除Attribute属性的方法 ### |
| 方法 | 描述 |
|---|---|
removeAttr(name) |
删除jQuery对象里所有DOM对象里的name属性。 |
| ## 操作Property属性的方法 ## | |
| ### 获取Property属性的prop方法 ### |
| 方法 | 描述 |
|---|---|
prop(propName) |
访问jQuery对象里第一个元素的propName属性。如果jQuery对象里包含的DOM对象都没有propName属性,则返回undefined。name可以是title、alt、src、href等属性。 |
| ### 设置Property属性的prop方法 ### |
| 方法 | 描述 |
|---|---|
prop(properties) |
用于为jQuery 对象里的所有DOM 对象同时设置多个属性。其中properties是一个形如{name1:value:,name2:value2...}的对象,例如{"src":"logo.jpg"}。 |
prop(name,value) |
用于为jQuery对象里的所有DOM对象设置单个属性。其中name是需要设置的属性名,value是需要设置的属性值。 |
prop(key, function) |
用于为jQuery对象里的所有DOM对象设置单个属性,但不是直接给定属性值,而是提供function函数,由function函数来计算各元素的属性值。 function函数是一个形如function(index){}的函数,其中index代表各DOM元素在jQuery对象中的索引。 |
| ### 删除Property属性的prop方法 ### |
| 方法 | 描述 |
|---|---|
removeProp(propName) |
删除jQuery对象里所有DOM对象里的propName属性。 |
| ## attr系列方法和prop系列方法的区别 ## | |
attr()与prop()系列方法的功能非常相似,在jQuery 1.6之前,attr()系列方法充当了prop()系列方法的功能;在jQuery 1.6之后,attr()系列方法专门用于操作元素的Attribute属性。而prop()系列方法则专门用于操作Property属性。 |
读者注:这两个系列的方法本书没有说清楚,我也看了网上的一些文章,没有说的很清楚,这两者的区别先放着,后面再更新。
下面是网上的说法,我没有验证:
两者区别
- 对于
HTML元素本身就带有的固有属性在处理时,使用prop方法 - 对于
HTML元素自己自定义的DOM属性在处理时,使用attr方法
适用情况
什么时候使用attr(),什么时候使用prop()?
1.添加属性名称该属性就会生效应该使用prop();
2.有true,false两个属性时使用prop();
3.其他则使用attr();
对于表单元素特有属性的操作时,应该使用prop方法。而对于其他属性操作,则基本靠attr方法就可以解决。
程序示例
下面的程序示范了动态改变页面中<img>元素src属性的情况。
1 |
|
原文链接: 3.4.3 操作属性的相关方法