它们的区别有二:
1.attr不仅可以返回(设置)元素的原生属性,还可以返回(设置)自定义属性。
例如:
<p title='hi' attr01='hello'><p> //attr01为自定义属性
$(function () {
document.write($('p').attr('attr01')); //返回 'hello'
document.write($('p').attr('title'));//返回'hi'
document.write($('p').prop('attr01');//返回undefined
document.write($('p').prop('title'));//返回'hi'
})
2.prop()属性的引入是为了解决attr属性在获取诸如:checked,selected等属性时返回'undefined'这个问题而引入的。
例如:
<input type='checkbox' checked />
<input type='checkbox' />
此时若用attr来获取input的checked属性,则会返回checked和undefined;而prop()在获取checked属性时,其返回值为true和false。
网友评论