移除disabled属性应使用removeattribute('disabled')或设置el.disabled = false;setattribute('disabled', 'false')无效,因disabled是布尔属性,只认存在与否;fieldset需修改其自身disabled才影响子元素。

disabled属性在JS里怎么移除
直接删掉 disabled 属性就行,不是设成 false 或空字符串。浏览器只认“有没有这个属性”,不看它的值是什么。
用 removeAttribute 还是 setAttribute
removeAttribute('disabled') 是最稳妥的做法;setAttribute('disabled', '') 或 setAttribute('disabled', 'false') 都没用——只要属性存在,元素就禁用。
-
el.removeAttribute('disabled'):彻底删掉,推荐 -
el.disabled = false:更简洁,也有效(这是 DOM 属性,不是 HTML 属性) -
el.setAttribute('disabled', 'false'):无效,disabled是布尔属性,值被忽略
为什么 el.disabled = false 有时不生效
常见原因是操作了错误的元素,或者 DOM 还没加载完就执行 JS。另外,如果元素本身是 fieldset,它禁用子控件靠的是自身 disabled,这时候要改 fieldset 的 disabled,而不是里面的 input。
- 确保选中的是目标控件本身,不是父容器
- 检查是否在
DOMContentLoaded后执行,或把脚本放
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











