美文网首页
jQuery中attr()和prop()的区别

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

作者: 河外星系的外星人 | 来源:发表于2017-12-11 15:12 被阅读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

    相关文章

      网友评论

          本文标题:jQuery中attr()和prop()的区别

          本文链接:https://www.haomeiwen.com/subject/nhmiixtx.html