在 jQuery 中,prop() 和 attr() 是用来操作元素属性的两个方法,它们之间有一些区别。
prop() 方法:
用于获取或设置元素的属性值,如 checked、disabled 等。
对于布尔类型的属性(如 checked、disabled),prop() 返回属性的当前状态,如果属性被设置为 true,则返回 true;如果属性被设置为 false 或未设置,则返回 false。
对于其他类型的属性(如 value、src),prop() 返回属性的当前值。
示例:
// 获取属性值
const isChecked = $('#myCheckbox').prop('checked');
const inputValue = $('#myInput').prop('value');
// 设置属性值
$('#myCheckbox').prop('checked', true);
$('#myInput').prop('value', 'Hello');
attr() 方法:
用于获取或设置元素的属性值。
返回属性的字符串值,无论属性是布尔类型还是其他类型。
attr() 方法可以用于获取或设置任意属性,包括 HTML 标准属性和自定义属性。
示例:
// 获取属性值
const srcValue = $('#myImage').attr('src');
const customData = $('#myElement').attr('data-custom');
// 设置属性值
$('#myImage').attr('src', 'image.jpg');
$('#myElement').attr('data-custom', 'some data');
总结:
prop() 主要用于获取或设置元素的布尔类型属性的状态。
attr() 主要用于获取或设置元素的属性值,可以用于任意属性。