jQuery中attr()和prop()的区别
attr(name | properties | key,value|fn) > 设置或返回被选元素的属性值 > name (String) 属性名称 >> 参数name描述: 返回文档中所有图形的属性值: $("img").attr("src"); > properties (map) 作为属性的"名/值对"对象 >> 为所选定对象设置多个属性: $('img').attr({src:"test.jpg",alt:"test image"}); > key,value (String,Object) 属性名称,属性值 >> 设置对象中某个属性的值 $('img').attr("src","test.jpg"); > key,function(index,attr) (String,Function) > 1.属性名称。 > 2.返回属性值的函数,第一个参数为当前元素的索引值,第二个参数为原先的属性值 >> 参数key,回调函数(设置一个属性值为回调函数返回值) $('img').attr("title",function(){ return this.src }); prop(name | properties | key,value | fn) > 获取在匹配的元素集中的第一个元素的属性值(不可设置获取非系统属性值) > 随着一些内置属性的DOM元素或Window对象,如果试图将删除该属性,浏览器可能会产生错误。JQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误。 > name (String) 属性名称 >> 参数name描述: 返回文档中所有图形的属性值: //选中复选框为boolean(true),未选中为boolean(False) $("input[type='checkbox']").prop("checked"); > properties (map) 作为属性的"名/值对"对象 >> 为所选定对象设置多个属性: //禁用页面上所有复选框 $("input[type='checkbox']").prop({disabled:true}); > key,value (String,Object) 属性名称,属性值 >> 设置对象中某个属性的值 //禁用和选中所有页面上的复选框 $("input[type='checkbox']").prop("disabled",false); $("input[type='checkbox']").prop("disabled",true); > key,function(index,attr) (String,Function) > 1.属性名称。 > 2.返回属性值的函数,第一个参数为当前元素的索引值,第二个参数为原先的属性值 >> 参数key,回调函数(设置一个属性值为回调函数返回值) //通过函数来设置所有页面上的复选框被选中。 $("input[type='checkbox']").prop("checked",function(i,val){ return !val });