在 jQuery 中,prop() 和 attr() 是用來(lái)操作元素屬性的兩個(gè)方法,它們之間有一些區(qū)別。
prop() 方法:
用于獲取或設(shè)置元素的屬性值,如 checked、disabled 等。
對(duì)于布爾類型的屬性(如 checked、disabled),prop() 返回屬性的當(dāng)前狀態(tài),如果屬性被設(shè)置為 true,則返回 true;如果屬性被設(shè)置為 false 或未設(shè)置,則返回 false。
對(duì)于其他類型的屬性(如 value、src),prop() 返回屬性的當(dāng)前值。
示例:
// 獲取屬性值
const isChecked = $('#myCheckbox').prop('checked');
const inputValue = $('#myInput').prop('value');
// 設(shè)置屬性值
$('#myCheckbox').prop('checked', true);
$('#myInput').prop('value', 'Hello');
attr() 方法:
用于獲取或設(shè)置元素的屬性值。
返回屬性的字符串值,無(wú)論屬性是布爾類型還是其他類型。
attr() 方法可以用于獲取或設(shè)置任意屬性,包括 HTML 標(biāo)準(zhǔn)屬性和自定義屬性。
示例:
// 獲取屬性值
const srcValue = $('#myImage').attr('src');
const customData = $('#myElement').attr('data-custom');
// 設(shè)置屬性值
$('#myImage').attr('src', 'image.jpg');
$('#myElement').attr('data-custom', 'some data');
總結(jié):
prop() 主要用于獲取或設(shè)置元素的布爾類型屬性的狀態(tài)。
attr() 主要用于獲取或設(shè)置元素的屬性值,可以用于任意屬性。