Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以写这个JQuery语句吗?_Javascript_Jquery - Fatal编程技术网

Javascript 我可以写这个JQuery语句吗?

Javascript 我可以写这个JQuery语句吗?,javascript,jquery,Javascript,Jquery,因此,我有以下几点: var box = $(".MyCheckBox"); if (box[0].checked) { // Do something } else { // Do something else } 有没有更好的方法使用过滤器或其他东西来实现这一点 我知道我可以去: $(".MyCheckBox") .filter(function(index) { return this.checked; }) .each(fu

因此,我有以下几点:

var box = $(".MyCheckBox");

if (box[0].checked)
{
    // Do something
}
else
{
    // Do something else
}
有没有更好的方法使用过滤器或其他东西来实现这一点

我知道我可以去:

$(".MyCheckBox")
    .filter(function(index) {
         return this.checked;
     })
    .each(function() {
         // do something
     });
但我需要在else语句中做点什么。。。更简单的方法?谢谢

attr('checked')返回第一个元素的已检查值,因此没有[0]malarky

if ($(".MyCheckBox").attr('checked')) {
 // Do something
} else {
 // else
}
attr('checked')返回第一个元素的已检查值,因此没有[0]malarky

if ($(".MyCheckBox").attr('checked')) {
 // Do something
} else {
 // else
}

您可以使用内置的
:选中的
选择器:

$(".MyCheckBox:checked").each(function() {
  //Do something with checked ones..
});
$(".MyCheckBox:not(:checked)").each(function() {
  //Do something with unchecked ones..
});
或在中筛选与您拥有的相似的内容:

$(".MyCheckBox").each(function() {
  if($(this).is(":checked")) {
    //Do something with checked ones..
  } else {
    //Do something with unchecked ones..
  }
});
或者,如果您想切换一个类,然后使用另一种方法,这会将
活动的
类赋予选中的类:

$(".MyCheckBox").each(function() {
  $(this).toggleClass("active", $(this).is(":checked"));
});
更新
如果您只想要原始速度,请根据评论:

$(".MyCheckBox").each(function() {
  if(this.checked) {
    //Do something with checked ones..
  } else {
    //Do something with unchecked ones..
  }
});

您可以使用内置的
:选中的
选择器:

$(".MyCheckBox:checked").each(function() {
  //Do something with checked ones..
});
$(".MyCheckBox:not(:checked)").each(function() {
  //Do something with unchecked ones..
});
或在中筛选与您拥有的相似的内容:

$(".MyCheckBox").each(function() {
  if($(this).is(":checked")) {
    //Do something with checked ones..
  } else {
    //Do something with unchecked ones..
  }
});
或者,如果您想切换一个类,然后使用另一种方法,这会将
活动的
类赋予选中的类:

$(".MyCheckBox").each(function() {
  $(this).toggleClass("active", $(this).is(":checked"));
});
更新
如果您只想要原始速度,请根据评论:

$(".MyCheckBox").each(function() {
  if(this.checked) {
    //Do something with checked ones..
  } else {
    //Do something with unchecked ones..
  }
});

我同意上面尼克更新的答案,但我建议你完成你的选择。i、 e

$('input.myCheckBox').each(function(){
    // tralalala...
}

。。。只是因为它使您的初始jQuery选择速度加快了一点。我的意思是,既然我们在讨论速度和其他问题^_^

我同意上面尼克的最新答案,但我建议你完成你的选择。i、 e

$('input.myCheckBox').each(function(){
    // tralalala...
}

。。。只是因为它使您的初始jQuery选择速度加快了一点。我的意思是,既然我们在讨论速度和其他问题^_^

我相信使用:checked选择器比使用attr快。:checked比我做的测试中的attr慢得多()这样做怎么样。checked?@Polaris878-
这个。checked
比这两种方法都快得多。但是你在这里谈论的是一个无穷小的差异,除非处理数千个复选框,因此可读性更好的可能更好。我将处理多达数百个复选框,因此这可能很重要:)我相信使用:checked选择器比使用attr快。:checked远,比我做的测试中的attr慢得多()那么就这么做吧。选中了吗?@Polaris878-
这个。选中的
比这两种方法都快得多。但是你在这里谈论的是一个无穷小的差异,除非处理数千个复选框,所以可读性更好的可能更好。我将处理多达数百个复选框,所以这可能很重要:)