我正在处理一个复选框。
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
}
它在工作。
如何以简化的方式在单个语句中合并这两个?我们可以简化条件吗?
答案 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方法。