检查复选框是否有类并已选中

时间:2016-03-26 10:03:47

标签: javascript jquery dom

我正在处理一个复选框。

if ($(this).hasClass("select")) { // To check class name
  if ($(this).is(':checked')) { // to check whether it is checked
    // some code
  }
}

现在我有两个if语句。如何在单一条件下合并它们?

我试过了:

1)

if ($(this).hasClass("select").is(':checked')) {
  //statements
}

它给了我一个错误:.hasClass("...").is('...') is not a function

2)

if ($(this).hasClass("select") && $(this).is(':checked')) {
  // some code
}
else if ($(this).hasClass("select") && $(this).not(':checked')) {
  // some code
}

它在工作。

如何以简化的方式在单个语句中合并这两个?我们可以简化条件吗?

2 个答案:

答案 0 :(得分:1)

你可以通过,

来做到
var cond = $(this).is(".select:checked");
var val = parseInt($(this).parent().next().text());
sum += (cond ? val : -(val));

答案 1 :(得分:0)

您可以将班级检查移至.is()

if ($(this).is(".select:checked"))

$(this).hasClass("select").is(':checked')不起作用,因为.hasClass()返回布尔值,而不是$(this)对象,所以你不能在它上链接jQuery方法。