You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对btn[0]正确使用.attr('disabled', false)方法

问题原因
  • 通过jQuery选择器获取的btn是封装了所有匹配DOM元素的jQuery实例对象,.attr()是jQuery原型链上的方法,仅jQuery对象可正常调用。
  • 使用下标[0]从jQuery集合中取值时,拿到的是原生DOM节点对象,这类对象没有挂载jQuery的相关方法,因此直接调用.attr()会报错失效。
实现方式

不需要使用原生DOM属性赋值的写法,只要把取到的原生DOM对象重新传入$()构造函数,包装为标准jQuery对象,就可以正常调用.attr()方法:

let btn = $("#btns").find(".btn-type03");

btn.attr('disabled', false); // 全集合调用,正常生效
$(btn[0]).attr('disabled', false); // 原生DOM转jQuery对象后调用,正常生效

也可以直接使用jQuery提供的.eq()方法,直接获取指定索引位置元素对应的jQuery包装对象,写法更简洁,不需要手动做包装转换:

// eq方法的索引从0开始计数,传入0即取第一个元素
btn.eq(0).attr('disabled', false);

注意:不要和.get()方法混淆,.get(index)返回的也是原生DOM对象,和直接用下标取值的效果一致,无法直接调用jQuery方法。

内容的提问来源于stack exchange,提问作者유태양

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 19:06:24