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 });
原文地址:https://www.cnblogs.com/lgqtecng/p/6415964.html