$.prop()和$.attr() 区别用法

都用于读取和设置DOM元素节点的属性

不同

  $.attr()用于DOM元素本身的属性

  $.prop()用于DOM节点对应的JS属性(源于DOM元素到JS对象的映射)

源于两者在jquery类库的实现方法:

  $.attr()使用原生JS里的getAttribute()和setAttribute();

  $.prop()使用的是通过获取DOM节点,然后调用该对象的内置属性(非内置对象无法获取到)

设置属性限制:

  $.attr()可以设置和读取内置和自定义的属性

  $.prop()只能读取DOM元素或window对象的一些内置属性,如果不是DOM元素对象的内置属性就无法设置和读取

接收参数的类型:

  $.attr()接收字符串,其他类型都会调用toString()转换为字符串。

   $.prop()除了字符串,还可以接收布尔值。

返回类型:

  $.attr()返回的属性值都是字符串,

  $.prop()返回的可以是字符串也可以是布尔值(prop()在调用表单的某些属性的时候比较有用,input元素的checked, 使用attr返回的是checked,而用prop返回的是true或false)

两者的详细用法参见园子里的博客。。。

原文地址:https://www.cnblogs.com/zhang-jian/p/4398091.html