attr()和prop()的区别

182 阅读1分钟
我们在使用attr()和prop()的过程中,我们会发现有一定的不一样
共同点:
都是获取或者添加对象属性的
<div id="v">
   <img src="./img/1.jpg" alt="">
</div>
例:
 console.log($('img').attr('src'))//./img/1.jpg
 console.log($('img').prop('src'))//http://localhost:63342/555/img/1.jpg
 不同点:
 具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
 例:
 <input type="checkbox"  id="Input">
 console.log($('#Input').attr('checked'))//undefined
 console.log($('#Input').prop('checked'))//false
 我们明显的看到会有差异,这时候prop就比较好用
 checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。