检查是否选中了"此"复选框

Zab*_*abs 22 checkbox jquery

如果使用此命令检查了"this"复选框,我该怎么办?

我有以下但不知道如何实现这一点(所以它只检查选中的单个复选框而不是页面上的所有复选框

if ($('input[type="checkbox"]').is(':checked')
Run Code Online (Sandbox Code Playgroud)

dev*_*l69 33

那这个呢?

if($(this).is(':checked'))
Run Code Online (Sandbox Code Playgroud)

  • 这有效,但这不是好习惯.请参阅我的答案,了解为什么效率非常低. (3认同)

lon*_*day 13

大概你的意思是this在事件处理程序的上下文中...在这种情况下,只需测试checked属性:

$('input[type="checkbox"]').click(function() {
    if (this.checked) {
        // checkbox clicked is now checked
    }
});
Run Code Online (Sandbox Code Playgroud)

请注意,您可以使用以下方法执行相同操作:

  • $(this).is(':checked')
  • $(this).prop('checked')

但是,this.checked避免创建新的jQuery对象,因此效率更高(代码更快).is是最慢的:它需要的prop时间是简单属性查找的两倍和大约100倍.

jsPerf这种技术之间的比较