jquery中attr和prop以及removeAttr和removeProp的区别

结论:attr和prop都可以获取自定义对象的属性值,区别是attr能获取标签元素自定义属性,prop无法获取,返回undefined,它只能获取标签自带属性。

removeAttr标签上的属性都可以移除,自定义对象属性不能移除,removeProp不可以移除标签自定义属性,可以移除自定义对象上的属性

attr和prop代码:

<img src="img/1.jpg" data-icon = "bonly" alt="这是一张图片"/>
console.log($("img").attr('data-icon')); // bonly
console.log($("img").prop('data-icon')); // undefined 不能获取自定义属性的值
$("img").attr('data-icon','Amy'); // 可以赋值
$("img").prop('data-icon','Amy'); // 不可以赋值

var bonly = {
        name: 'bonly',
        age: "18",
        weight: '70kg'
};
console.log($(bonly).attr('age')); // 18
console.log($(bonly).prop('age')); // 18
$(bonly).attr('age',20); // 可以进行赋值
$(bonly).prop('age',20); // 可以进行赋值

removeAttr和removeProp

$("img").removeAttr('src'); // 自有属性可以移除
$("img").removeAttr('data-icon'); // 自定义属性可以移除
$("img").removeProp('src'); // 可以移除
$("img").removeProp('data-icon'); // 自定义属性不可以移除
$(bonly).removeAttr('name'); // 不能移除
$(bonly).removeProp('name'); // 可以移除