获取匹配的元素集合中的第一个元素的属性的值 | 设置每一个匹配元素的一个或多个属性:
在jQuery 1.6中,当属性没有被设置时候,.attr()方法将返回undefined,若要检索和更改DOM属性,比如元素的checked, selected, 或 disabled状态,请使用.prop()方法
如果第二个参数是callback,那么需要返回的是属性值,函数传参解释如下:
1:属性名称
2:返回属性值的函数,第一个参数为当前元素的索引值,第二个参数为原先的属性值
注意:使用此方法来设置样式时,需要注意的就是如果直接使用obj.attr(‘width‘,‘100px‘);的格式来设置的话,那么在代码中显示的就是类似于<div width=‘100px‘></div>这种样式,要是想设置成为我们需要的行间样式建议:
obj.attr(‘style‘,‘width:100px;height:100px‘);这种样式显示正确
实例:
<!DOCTYPE html> <html lang=‘zh-cn‘> <head> <title>Insert you title</title> <meta http-equiv=‘description‘ content=‘this is my page‘> <meta http-equiv=‘keywords‘ content=‘keyword1,keyword2,keyword3‘> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- <script type=‘text/javascript‘ src=‘./js/jquery-3.0.0.js‘></script> --> <script type=‘text/javascript‘ src=‘./js/jquery-1.12.1.min.js‘></script> <style type=‘text/css‘> #listDemo{list-style:none;} #listDemo li{width:350px;height:20px;margin:10px 0;background:red;text-align:center;font:400 13px/20px ‘Courier New‘;color:#FFF;} </style> <script type=‘text/javascript‘> $(function(){ $(‘#listDemo li‘).attr(‘width‘,function(index,oldAttr){ alert(index); }); $(‘#listDemo li.bar‘).attr(‘style‘,function(index,oldAttr){ /* 只能取得处于行间的旧的属性,可能由于jquery版本等因素影响,需要注意 */ alert(oldAttr); }); }); </script> </head> <body> <ul id=‘listDemo‘> <li class="foo">foo</li> <li class="bar" style=‘border:1px solid #F20;‘>bar</li> <li class="baz">baz</li> </ul> </body> </html>
时间: 2024-10-20 07:51:33