回答

收藏

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

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

我想做这样的事checkbox使用jQuery打勾:
. L' T$ w+ \6 v- I7 L/ c
    $(".myCheckBox").checked(true);/ V, u. H" z4 H! C# ^. g! Q( B
或者. d) w: n9 c0 X% K( R( s& O
    $(".myCheckBox").selected(true);2 B# E0 o- A5 c
这样的事情存在吗?
. a3 w3 m0 X. F  V                                                               
( _" r7 \' @' m0 x) O    解决方案:                                                               
/ w8 j' j7 h5 H9 l                                                                Modern jQuery使用.prop():
" z* g$ Y7 I# K# _
    $('.myCheckbox').prop('checked',true);$('.myCheckbox').prop('checked',false);% Z! |% }# P/ M$ b$ i3 t
DOM API如果只使用一个元素,总能访问底层HTMLInputElement并修改其.checked属性:& M! ]! k; L& _& S$ L& |9 ^
    $('.myCheckbox')[0].checked = true;$('.myCheckbox')[0].checked = false;; j1 X' o! r9 [3 ]; k: r" \
使用.prop()and.attr()取代 的方法this其优点是它们将操作所有匹配元素。
4 P/ R& f3 f+ E0 r) E6 P) jjQuery 1.5.x 及以下该.prop()方法不可用,需要使用.attr().
9 R7 k: \) x7 x' ?- q
    $('.myCheckbox').attr('checked',true);$('.myCheckbox').attr('checked',false);! D! ?4 r6 {' s# h0 f% ]. l3 K
请注意,这是jQuery 1.6 版前单元测试使用方法,最好使用,$('.myCheckbox').removeAttr('checked);因为如果最初选择了这个框,后者将被更改.reset()调用其任何表单的行为- 微妙但可能不受欢迎的行为变化。
8 N. b8 B1 H7 U- N& L更多上下文,checked可以在1.6 版发行说明和文档Attributes vs. Properties从 1部分找到相关从 1部分.5.x 到 1.6 过渡中对属性/属性处理变化的一些不完整讨论。.prop()
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则