回答

收藏

使用 jQuery 为复选框设置“checked”

技术问答 技术问答 325 人阅读 | 0 人回复 | 2023-09-11

我想做这样的事checkbox使用jQuery打勾:$ k/ |+ _# t1 k* k6 ^
    $(".myCheckBox").checked(true);+ b: M! B: N: ^
或者
/ d# [9 s: Q5 m( J, p' d3 P
    $(".myCheckBox").selected(true);
    + x% e5 R: l$ ?3 G% R; I
这样的事情存在吗?
! ?' q, I5 \1 t& j; \+ I9 s( g+ y. a                                                               
0 k* F) C/ A8 `0 C6 Q    解决方案:                                                               
0 Y0 U5 T3 v7 t5 L6 T9 a- V) p                                                                Modern jQuery使用.prop():* S$ O( f; m( Z( V7 y6 x5 ]( G; a* @2 I- g
    $('.myCheckbox').prop('checked',true);$('.myCheckbox').prop('checked',false);
      s$ x& V+ d5 b: L) Z" q6 F5 V
DOM API如果只使用一个元素,总能访问底层HTMLInputElement并修改其.checked属性:  Z2 J8 s7 P( w1 E1 j' _5 Y
    $('.myCheckbox')[0].checked = true;$('.myCheckbox')[0].checked = false;
    / J" j' I% i$ ~; x
使用.prop()and.attr()取代 的方法this其优点是它们将操作所有匹配元素。* s' [- M2 |4 `& M8 P- F' q/ h
jQuery 1.5.x 及以下该.prop()方法不可用,需要使用.attr().* ], }! ~" b5 r1 j+ k! n
    $('.myCheckbox').attr('checked',true);$('.myCheckbox').attr('checked',false);+ g2 M/ _* X. f4 ]+ f
请注意,这是jQuery 1.6 版前单元测试使用方法,最好使用,$('.myCheckbox').removeAttr('checked);因为如果最初选择了这个框,后者将被更改.reset()调用其任何表单的行为- 微妙但可能不受欢迎的行为变化。% ~+ D! D+ R9 h, `' H
更多上下文,checked可以在1.6 版发行说明和文档Attributes vs. Properties从 1部分找到相关从 1部分.5.x 到 1.6 过渡中对属性/属性处理变化的一些不完整讨论。.prop()
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则