jQuery中的attr()方法是用來獲取或設置HTML標簽的屬性,可以使用jQuery選擇器來定位需要操作的元素。在使用attr()方法時,我們有時會遇到屬性名中包含空格的情況。
在獲取或設置單一屬性時,我們可以直接將屬性名作為attr()方法的參數傳入即可。例如:
var href = $('a').attr('href');
$('img').attr('alt', '圖片描述');
但是如果屬性名中包含空格,我們需要使用方括號語法來操作該屬性。例如:
$('input').attr('data-url', 'http://example.com/').attr('data-type', 'link');
$('input').attr({'data-url': 'http://example.com/', 'data-type': 'link'});
$('input').attr({'data-url': 'http://example.com/', ['data-type']: 'link'});
注意,如果使用對象語法設置多個屬性,屬性名需要使用引號或方括號包含,如果直接寫入會導致語法錯誤。
在使用attr()方法時,我們還可以通過傳入回調函數來進行更高級的操作。例如:
$('input').attr('placeholder', function(index, value) {
return '搜索' + (index + 1);
});
這里的回調函數接收兩個參數,第一個參數為當前元素在jQuery對象中的索引,第二個參數為當前屬性的值。回調函數返回的結果會作為新的屬性值進行設置。