attr是jQuery的属性。
 1 - - attr(name)
取得第一个匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined
例如:

html:
  <div  class="pz1z" id="zzzz" >
   <span>aaaa</span>
  </div>
 js:
  $(document).ready(function(){
   var  aa= $("div").attr("class");
   alert(aa)
  });


  打印的结果为div 便签class属性的值 pz1z 
注意:这种只会获取第一个匹配的元素 如果两个div 只能获取到第一个的属性值。可以通过选择器加以过滤(pzz)

2 - - attr(properties)   返回值:jQuery
properties    Map

将一个“名/值”形式的对象设置为   《所有匹配元素》     的属性。

这是一种在所有匹配元素中批量设置很多属性的最佳方式。 注意,如果你要设置对象的class属性,你必须使用'className' 作为属性名。或者你可以直接使

用.addClass( class ) 和 .removeClass( class ).
 html:
  <img id="nihao" src="sssss"/> js:
  $("img").attr({src:"woqunimei",id:"buhao"});


注意:会改变所有匹配元素的属性 如果过滤条件为div 那么所有的div元素的属性都将会改变 。同时它的()里有一对大括号(pzz)、

3 - - attr(key, value)    返回值:jQuery
 为所有匹配的元素设置一个属性的值 key  value 均为string类型,也就是都是"",""的格式

html:
  <img id="nihao" src="sssss"/>
 js:
  $("img#img1").attr("src","woqunimei");
 var  aa= $("img#img1").attr("src");
 alert(aa) result:
  “woqunimei”(attr(name)只会找到第一个匹配的元素,所有要加过滤的条件)


注意:这种只能单一的改变元素的一个属性值,如果要改变多个属性,可以参考attr(properties)函数。同时,它也会改变所有匹配到的元素属性值(pzz) 

4 - -attr(key, function(index, attr))  返回值 jQuery

key(class)  String   function(index, attr)        Function

 
 为所有匹配的元素改变一个属性的值,只不过第二个参数不同于 attr(key, value),不再是一个value string类型的值,而是一个函数
 示例

HTML 代码:
  <input type="text"/>
  //<input type="text"/>
 jQuery 代码:
  $("input[type='text']").attr("value",function(){
  return "我是一个菜鸟"
 });
 //$("img").attr("title", function() { return this.src });
 结果:
  <img src="test.jpg" value="我是一个菜鸟" /> (页面加载后,文本框中会出现  “我是一个菜鸟”)

注意:这样会改变所有匹配到的元素属性值,如果有两个文本输入框,都会受到影响 (pzz)

5 - - removeAttr(name)    返回值:jQuery
   从每一个匹配的元素中删除一个属性,
 描述:
 将文档中图像的src属性删除

 HTML 代码:

<input type="text"/ value="我是一个菜鸟">
  <input type="text"/ value="我不是一个菜鸟">
 jQuery 代码:
  $("input").removeAttr("value");;


 结果:
  两个文本框中什么字读没有了;
注意:删除的是所有的匹配元素的一个属性值,attr首字母大写。jQuery 1.7以上版本支持一次删除多个属性的值$("input").removeAttr("class value");
属性之间用空格符隔开