jquery中prop和attr的区别

jquery中prop和attr的区别

prop:

prop(name|properties|key,value|fn)

**概述**

    获取在匹配的元素集中的第一个元素的属性值。
    随着一些内置属性的DOM元素或window对象,如果试图将删除该属性,浏览器可能会产生错误。  
    jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误

**参数**

    name                        String                  V1.6
    属性名称

    properties                  Map                     V1.6
    作为属性的“名/值对”对象

    key,value                   String,Object           V1.6
    属性名称,属性值

    key,function(index, attr)   String,Function         V1.6
    1:属性名称。
    2:返回属性值的函数,第一个参数为当前元素的索引值,第二个参数为原先的属性值。

**示例**

    参数name 描述:
    选中复选框为true,没选中为false

    jQuery 代码:
    $("input[type='checkbox']").prop("checked");

    参数properties 描述:
    禁用页面上的所有复选框。

    jQuery 代码:
    $("input[type='checkbox']").prop({
      disabled: true
    });

    参数key,value 描述:
    禁用和选中所有页面上的复选框。

    jQuery 代码:
    $("input[type='checkbox']").prop("disabled", false);
    $("input[type='checkbox']").prop("checked", true);

    参数key,回调函数 描述:
    通过函数来设置所有页面上的复选框被选中。

    jQuery 代码:
    $("input[type='checkbox']").prop("checked", function( i, val ) {
      return !val;
    });

attr

attr(name|properties|key,value|fn)

概述
设置或返回被选元素的属性值。

参数

name                        String                                  V1.0
属性名称

properties                  Map                                     V1.0
作为属性的“名/值对”对象

key,value                   String,Object                           V1.0
属性名称,属性值

key,function(index, attr)   String,Function                         V1.1
1:属性名称。
2:返回属性值的函数,第一个参数为当前元素的索引值,第二个参数为原先的属性值。

示例

参数name 描述:
返回文档中所有图像的src属性值。

jQuery 代码:
$("img").attr("src");

参数properties 描述:
为所有图像设置src和alt属性。

jQuery 代码:
$("img").attr({ src: "test.jpg", alt: "Test Image" });

参数key,value 描述:
为所有图像设置src属性。

jQuery 代码:
$("img").attr("src","test.jpg");

参数key,回调函数 描述:
把src属性的值设置为title属性的值。

jQuery 代码:
$("img").attr("title", function() { return this.src });

prop和attr的区别:

对于值是true/false的property,类似于input的checked attribute等,attribute取得值是HTML文档  
字面量值,property是取得计算结果,property改变并不影响attribute字面量,但attribute改变会影响  
property计算

<input id="test3" type="checkbox"/>

    var t=document.getElementById('test3');
    console.log(t.getAttribute('checked'));//null
    console.log(t.checked);//false;

    t.setAttribute('checked','checked');
    console.log(t.getAttribute('checked'));//checked
    console.log(t.checked);//true

    t.checked=false;
    console.log(t.getAttribute('checked'));//checked
    console.log(t.checked);//false

参考网址:

http://www.cnblogs.com/dolphinX/p/3348582.html
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值