jq添加插入元素

jquery添加分为在指定元素的里面添加外面添加两种:

里面添加使用(append 和prepend)

里面添加又分为在里面的前面添加和后面添加

里面的前面添加使用

prepend和prependTo

里面的后面添加使用

append  或appendTo


外面添加使用(after和before)

外面添加又分为在外面的前面添加和后面添加

外面的前面添加使用

before或insertBefore

外面的后面添加使用

after或insertAfter
jQuery 中,可以使用 `.attr()` 方法来**添加或设置元素的属性**。如果该属性原本不存在,`attr()` 会创建并添加它;如果已存在,则会更新其值。 --- ### ✅ 基本语法 ```javascript $(selector).attr('attributeName', 'value'); ``` 你也可以一次性设置多个属性: ```javascript $(selector).attr({ 'attributeName1': 'value1', 'attributeName2': 'value2', 'attributeName3': 'value3' }); ``` --- ### 📌 示例代码 #### 示例 1:添加 `disabled` 属性 ```html <input type="text" id="myInput" value="Hello"> ``` ```javascript // 添加 disabled 属性,使输入框不可用 $('#myInput').attr('disabled', 'disabled'); ``` > 💡 在 HTML 中,有些布尔属性(如 `disabled`, `readonly`, `checked`)只要存在就会生效,值通常也写成属性名本身。 #### 示例 2:添加 `readonly` 和 `placeholder` ```javascript $('#myInput') .attr('readonly', 'readonly') .attr('placeholder', '暂不可编辑'); ``` #### 示例 3:添加自定义属性(如 `data-*`) ```javascript $('#myInput').attr('data-user-id', '12345'); $('#myInput').attr('data-role', 'admin'); ``` #### 示例 4:一次性添加多个属性 ```javascript $('#myInput').attr({ 'title': '这是一个提示信息', 'data-category': 'profile', 'maxlength': '50', 'autocomplete': 'off' }); ``` #### 示例 5:动态设置属性值(使用函数) ```javascript $('#myInput').attr('placeholder', function(index, oldVal) { return '当前原始值是: ' + oldVal; }); ``` 这会根据当前 placeholder 的旧值动态生成新值。 --- ### ⚠️ 注意事项与最佳实践 | 场景 | 推荐方法 | 说明 | |------|----------|------| | 设置 `class` | `.addClass()` 或 `.attr('class', ...)` | 更推荐 `.addClass()` 来追加类名 | | 设置 `style` | `.css()` | 更安全,避免覆盖整个 style 字符串 | | 布尔属性(如 `checked`, `selected`) | 使用 `.prop()` | 因为这些是 DOM **属性(property)** 而非 HTML 属性 | > 🔥 特别注意: > > 对于 `checked`, `selected`, `disabled`, `readonly` 这些状态性的“布尔属性”,虽然可以用 `.attr()` 设置,但更推荐使用 `.prop()` 来控制其逻辑状态: ```javascript // ✅ 推荐方式(控制元素的状态) $('#checkbox').prop('checked', true); // 相当于选中 $('option').prop('selected', true); // 下拉项选中 ``` 而 `.attr('checked', 'checked')` 只影响初始渲染时的 HTML 属性,后续 DOM 操作建议用 `.prop()`。 --- ### ✅ 总结对比 | 方法 | 用途 | 示例 | |------|------|------| | `.attr()` | 添加/修改 HTML 属性 | `$('.a').attr('title', '提示')` | | `.prop()` | 修改 DOM 元素的 property(状态) | `$('#chk').prop('checked', true)` | | `.data()` | 存储数据(不体现在 DOM 上) | `$('#el').data('id', 100)` | | `.addClass()` / `.css()` | 分别用于 class 和样式 | 更清晰、安全 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值