如何用一行jQuery代码设置未选中复选框的disabled属性为false?
解决方案:一行代码搞定未选中复选框的
disabled设置 不用折腾复杂的循环和条件判断,一行代码就能实现你的需求,分两种常用场景给你:
原生JavaScript版本(无依赖)
如果项目里没用到任何前端库,直接用原生DOM API就行:
document.querySelectorAll('input[type="checkbox"]:not(:checked)').forEach(el => el.disabled = false);
这里利用CSS伪类组合:not(:checked)精准定位所有未选中的复选框,再通过forEach批量设置disabled属性为false——全程没有条件语句,完全符合你的要求。
jQuery版本(若项目已引入jQuery)
jQuery的链式调用会更简洁直观:
$('input[type="checkbox"]:not(:checked)').prop('disabled', false);
通过:not(:checked)筛选出目标元素后,直接用prop()方法统一设置属性,一行搞定。
为啥之前的语法可能失效?
大概率是选择器写错了——比如没正确组合:not和:checked伪类,或者在原生JS里误用了setAttribute('disabled', false)(布尔属性直接赋值el.disabled = false比用setAttribute更可靠)。
内容的提问来源于stack exchange,提问作者Brice Coustillas
相关产品推荐
相关产品推荐

