您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        # 怎么使用jQuery attr()
jQuery的`.attr()`方法是操作HTML元素属性的核心函数之一。它既能获取属性值,也能设置属性值,是DOM操作中不可或缺的工具。本文将详细介绍其用法、常见场景和注意事项。
## 目录
1. [基本语法](#基本语法)
2. [获取属性值](#获取属性值)
3. [设置单个属性](#设置单个属性)
4. [设置多个属性](#设置多个属性)
5. [特殊属性处理](#特殊属性处理)
6. [与prop()的区别](#与prop的区别)
7. [实际应用示例](#实际应用示例)
8. [注意事项](#注意事项)
---
## 基本语法
```javascript
// 获取属性
$(selector).attr(attributeName)
// 设置单个属性
$(selector).attr(attributeName, value)
// 设置多个属性
$(selector).attr({ 
  attribute1: value1,
  attribute2: value2 
})
通过传递属性名作为参数获取值:
// 获取img的src属性
const imgSrc = $('img#logo').attr('src');
// 获取链接的target属性
const linkTarget = $('a.external').attr('target');
注意:如果元素不存在或属性未设置,返回undefined。
// 设置图片src
$('img.thumbnail').attr('src', 'new-image.jpg');
// 设置disabled属性
$('button.submit').attr('disabled', 'disabled');
使用对象形式批量设置:
$('input.text-field').attr({
  'placeholder': '请输入内容',
  'maxlength': 50,
  'data-validate': 'required'
});
像checked、disabled这类属性建议使用.prop():
// 推荐方式
$('#checkbox').prop('checked', true);
// 也能用attr(但不推荐)
$('#checkbox').attr('checked', 'checked');
HTML5建议使用.data()方法:
// 获取data-*属性
const user = $('#profile').data('user-id');
// 等效于:
const user = $('#profile').attr('data-user-id');
| 方法 | 作用对象 | 适用场景 | 
|---|---|---|
.attr() | 
HTML属性 | href, title, alt等 | 
.prop() | 
DOM属性 | checked, selected, disabled | 
示例对比:
// 返回原始HTML值
$('input').attr('value'); 
// 返回当前DOM值(会随用户输入变化)
$('input').prop('value');
$('img.lazy').each(function() {
  const realSrc = $(this).attr('data-src');
  $(this).attr('src', realSrc);
});
$('form').submit(function() {
  if (!$('#email').val()) {
    $('#email').attr('title', '邮箱不能为空');
    return false;
  }
});
$('a.locale').click(function() {
  const lang = $(this).attr('data-lang');
  $('html').attr('lang', lang);
});
性能考虑:频繁操作DOM会影响性能,建议批量修改
属性名大小写:HTML属性不区分大小写,但建议保持一致性
SVG元素:部分SVG属性需要使用attr()而非prop()
移除属性:使用.removeAttr()方法
$('div.tooltip').removeAttr('title');
回调函数:支持动态计算属性值
$('img').attr('src', function(i, oldSrc) {
 return oldSrc + '?timestamp=' + Date.now();
});
通过灵活运用.attr()方法,可以高效地完成各种DOM属性操作需求。建议结合具体场景选择最合适的方法。
“`
注:本文实际约850字(含代码示例),主要涵盖jQuery attr()的核心用法和实用技巧。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。