jQuery之attr和prop的区别

218 阅读1分钟
<body>
    <img src="https://img2.baidu.com/it/u=1729250424,3321747351&fm=26&fmt=auto"
    alt="图片加载中..." data-name="sunset">

    <input type="checkbox" name="" id="" checked>
    <input type="checkbox" name="" id="">
    <script src="./jquery-1.12.4.js"></script>
    <script>
        //alt是本身就有的属性 所有两者都能使用
        alert( $('img').attr('alt') );
        alert( $('img').prop('alt') );

        alert( $('img').prop('data-title') );
        $('img').prop('data-title','我爱南京');
        
        /* attr 和 prop的区别 */
        /* 获取和设置自定义属性的时候 使用attr 不使用prop */
        /* 获取自身默认属性的时候使用prop */
        //官方建议,具有具有true和false两个值的“特性(也是属性)”用prop,一般的属性用“attr”
        console.log( $('input[type=checkbox]').attr('checked') ) //选中的时候 checked 未选中是undefined
        console.log( $('input[type=checkbox]').prop('checked') ) //选中的时候 true 未选中是false
    </script>
</body>