jQuery中attr()和prop()的区别

2017-12-11  本文已影响0人  河外星系的外星人

它们的区别有二:
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。

原文地址:http://www.jianshu.com/p/e892f67a7be2

上一篇 下一篇

猜你喜欢

热点阅读