jQuery 没有用于获取或修改元素属性的具体命令。可以利用原生JavaScript表示法来存取元素属性值。诀窍在于首先获取元素引用。
语法:each(iterator)
功能:遍历包装集里所有元素,为各元素分别调用传递进来的迭代器函数。
参数 iterator:一个函数,为匹配集中的各元素分别调用一次。传递到函数的参数被设置为包装集里当前元素的下标(从0开始),而当前元素可通过函数this属性来访问。
返回:包装集。
例:把属性值设置到匹配集里的所有元素上。
$('img').each(function(n) { this.alt = 'This is image[' + n + '] with an id of' + this.id; });
获取、设置、删除属性值
语法:attr(name)
功能:获取指派到包装集里第一个元素指定属性的值。
参数 name:(字符串)属性的名称。该属性的值将被获取。
返回:包装里第一个元素指定属性的值。如果包装集为空,或第一个元素没有该属性,则返回“undefined”。
语法:attr(name, value)
功能:为包装集里所有元素的name属性性设置传递进来的值。
参数 name:(字符串)将被设置的属性名称。
参数 value:(字符串、对象、函数)指定属性的值。可以是有返回值的任何JavaScript表达式,或是一个函数。
返回:包装集。
例:
$('*').attr('title', function(index) { var id = this.id ? this.id : 'unset'; return ' I am element ' + index + ' and my name is ' + id; });
语法:attr(attributes)
功能:把已传递对象指定的属性名和值设置到包装集的所有元素上。
参数 attributes:一个对象。对象属性被作为属性名而复制到包装集里所有元素上。
返回:包装集。
例:
$('input').attr( { title: 'Please enter a value.', value: '' });
语法: removeAttr(name)
功能:从每个已匹配元素删除指定的属性值。
参数 name:(字符串)将要删除的属性名。
返回:包装集。
注意: 删除一个属性不会从JavaScript DOM元素删除任何对应的属性,尽管可能导致属性值的改变。
规范化存取名称
规范化名称 | 源名称 |
class | className |
cssFloat | IE用styleFloat,其他浏览器用cssFloat(当和.css一起使用时) |
float | IE用styleFloat,其他浏览器用cssFloat(当和.css一起使用时) |
for | htmlFor |
maxlength | maxLength |
readonly | readOnly |
styleFloat | IE用styleFloat,其他浏览器用cssFloat(当和.css一起使用时) |