获取、设置、删除jQuery对象的属性值
jQuery 提供了一系列处理元素属性的方法,可以获取属性值,设置一个属性值,通过映射对象设置多个属性值,通过函数动态设置属性值,也可以删除属性。可以通过使用attr方法和prop方法实现:
attr方法:
1. attr(name) :获取jquery对象中第一个元素对应属性的值。
我们可以结合each方法使用attr 方法读取jquery对象中每一个元素的属性。方法参数为元素的索引和元素。
2. attr(name,value):为“name”属性设置“value”值,此处和第一个方法不同,它设置的是jquery对象中所有元素的属性。
3. attr(map):通过创建映射对象,这个对象的属性名被解释为元素的属性名,属性值作为元素的属性值。将这个对象传递给attr方法,实现在一次attr方法调用中设置多个属性。示例代码如下:
<script type="text/javascript">
$(document).ready(function(){
var attrValues = {
src: "lily.png",
style: "border:thick solid red"
};
$("img").attr(attrValues);
});
</script>
4.attr(name,function):通过函数动态设置属性值,如果函数的返回值为字符串,则这个值被设置为属性的新值,反之,使用属性的原始值。
$("img").attr("src",function(index,oldVal){
if(oldVal.indexOf("rose")>-1)
{
return "lily.png";
}
else {
return "";
}
}
5.removeAttr(name): 删除属性
prop方法
attr 方法和prop方法使用方式相似,只需要把attr字符串换为prop即可,但两者的区别还是得重视的。
这两者的区别是prop方法处理HTMLElement对象定义的属性,而不是我们能够看到的那些字面属性(我们在html标签中看到的那些属性)。字面属性通常与元素对象定义的属性相同,但是也有例外。在HTMLElement对象中使用className(property)而非class(attribute)表示。