jQuery attr() 方法
定义和用法
attr() 方法设置或返回被选元素的属性和值。
当该方法用于返回属性值,则返回第一个匹配元素的值。
当该方法用于设置属性值,则为匹配元素设置一个或多个属性/值对。
语法
返回属性的值:
$(selector).attr(attribute)
设置属性和值:
$(selector).attr(attribute,value)
使用函数设置属性和值:
$(selector).attr(attribute,function(index,currentvalue))
设置多个属性和值:
$(selector).attr({attribute:value, attribute:value,...})
参数 | 描述 |
---|---|
attribute | 规定属性的名称。 |
value | 规定属性的值。 |
function(index,currentvalue) | 规定要返回属性值到集合的函数
|
更多实例
返回属性值
如何为元素返回属性的值。
使用函数设置属性和值
如何使用函数为元素设置属性值。
设置多个属性和值对
如何为元素设置多个属性/值。
MCCF
353***4841@qq.com
prop 和 attr 均可获取属性值,但 prop 不扫描源码来获取而是根据页面的信息。
比如:
该图片的实际宽度为 284。
如果页面只有这一张图片,那么 $("img").attr("width") 将返回 undefined,因为页面源代码中没有设置 width 属性。但是用 $("img").prop("width") 可返回 284,因为浏览器直接显示图片的实际宽度,用户实际看到的宽度就是 284。
理论上,prop 更快。但很遗憾,它是扫描浏览器所实际显示的数据,仅可用于浏览器可识别的属性。比如:
由于 tinyval 并非HTML标准属性,因此 $("p").prop("tinyval") 无法获取到任何值。
但 attr 不受限制。$("p").attr("tinyval") 会扫描源码并获取到 "12" 的结果。
因此,如果您明白代码将做什么,建议使用 attr,它应当能提供更好的重用性和兼容性。
MCCF
353***4841@qq.com