公司新闻当前位置:天恒娱乐 > 公司新闻 > >

jQuery.prop() 使用详解

  

[jQuery,prop]jQuery.prop() 使用详解

  

prop()函数用于设置或返回当前jQuery对象所匹配的元素的属性值。

  

  

该函数属于jQuery对象(实例)。如果需要删除DOM元素的属性,请使用removeProp()函数。

  

  

语法  

  

jQuery 1.6 新增该函数。prop()函数有以下两种用法:  

  

用法一:  

  

jQueryObject.prop( propertyName [, value ] )  
  

  

设置或返回指定属性propertyName的值。如果指定了value参数,则表示设置属性propertyName的值为value;如果没有指定value参数,则表示返回属性propertyName的值。

  

  

参数value还可以是函数,prop()将根据匹配的所有元素遍历执行该函数,函数中的this指针将指向对应的DOM元素。prop()还会为函数传入两个参数:第一个参数就是该元素在匹配元素中的索引,第二个参数就是该元素propertyName属性当前的值。函数的返回值就是为该元素的propertyName属性设置的值。

  

  

用法二:  

  

jQueryObject.prop( object )  
  

  

以对象形式同时设置任意多个属性的值。对象object的每个属性对应propertyName,属性的值对应value。

  

  

注意:prop()函数的所有"设置属性"操作针对的是当前jQuery对象所匹配的每一个元素;所有"读取属性"的操作只针对第一个匹配的元素。

  
  参数  

  

请根据前面语法部分所定义的参数名称查找对应的参数。

  

  

参数 描述  
  propertyName String类型指定的属性名称。

  
  value 可选/Object/Function类型指定的属性值,或返回属性值的函数。

  
  object Object类型指定的对象,用于封装多个键值对,同时设置多项属性。

  
  参数value可以是包括对象和数组在内的任意类型。

  

  

返回值  

  

prop()函数的返回值是任意类型,返回值的类型取决于当前prop()函数执行的是"设置属性"操作还是"读取属性"操作。

  

  

如果prop()函数执行的是"设置属性"操作,则返回当前jQuery对象本身;如果是"读取属性"操作,则返回读取到的属性值。

  

  

如果当前jQuery对象匹配多个元素,返回属性值时,prop()函数只以其中第一个匹配的元素为准。如果该元素没有指定的属性,则返回undefined。

  

  

prop()和attr()的主要区别:prop()函数针对的是DOM元素(JS Element对象)的属性,attr()函数针对的是DOM元素所对应的文档节点的属性。详情请查看jQuery函数attr()和prop()的区别。

  
  

  

注意事项  

  

1、如果通过prop()函数更改

  
  

天恒娱乐官网CodePlayer

  
    
    
  
  
  我们编写如下jQuery代码:  

  
  
  var $n2 = $("#n2");  // prop()操作针对的是元素(Element对象)的属性,而不是元素节点(HTML文档)的属性  document.writeln( $n2.prop("data-key") ); // undefined  document.writeln( $n2.prop("data_value") ); // undefined  document.writeln( $n2.prop("id") ); // n2  document.writeln( $n2.prop("tagName") ); // P  document.writeln( $n2.prop("className") ); // demo test  document.writeln( $n2.prop("innerHTML") ); // CodePlayer  document.writeln( typeof $n2.prop("getAttribute") ); // function  // prop()设置的属性也是针对元素(Element对象),因此也可以通过元素本身直接访问  $n2.prop("prop_a", "CodePlayer");  document.writeln( $n2[0].prop_a ); // CodePlayer  var n2 = document.getElementById("n2");  document.writeln( n2.prop_a ); // CodePlayer  // 以对象形式同时设置多个属性,属性值可以是对象、数组等任意类型  $n2.prop( {  prop_b: "baike",  prop_c: 18,  site: { name: "CodePlayer", url: "" }  } );  document.writeln( $n2[0].prop_c ); // 18  document.writeln( $n2[0].site.url ); //  // 反选所有的复选框(没选中的改为选中,选中的改为取消选中)  $("input:checkbox").prop("checked", function(index, oldValue){  return !oldValue;  });  

(责任编辑:admin)

上一篇:如何让浏览器支持jquery ajax load 前进、后退功能

下一篇:没有了

推荐内容