在 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() 主要用于獲取或設置元素的屬性值,可以用于任意屬性。