我有这个输入:
<input type="checkbox" id="test_checkbox" onchange="fffunction(this)" /> Something
选中/取消选中后,复选框称为fffunction
功能:
function fffunction(checked_value) {
if(checked_value.is(":checked")){
console.log("checked");
} else {
console.log("not checked");
}
}
这会返回checked_value.is is not a function
的错误。如何检查传递的属性是否为函数?如何使用参数?
如果我这样做:
function fffunction(checked_value) {
if($('#test_checkbox').is(":checked")){
console.log("checked");
} else {
console.log("not checked");
}
}
一切正常......如何使用参数,而不是直接调用函数内的ID HTML元素?
提前谢谢。
答案 0 :(得分:2)
您正在尝试在原始DOM元素上使用jQuery函数。要做到这一点,你必须首先将它包装在一个jQuery实例中:
function fffunction(checked_value) {
if($(checked_value).is(":checked")){
// ^^-------------^---------------------- note
console.log("checked");
} else {
console.log("not checked");
}
}
这是直接包装元素,而不是ID。
当然,在这种特殊情况下没有理由使用jQuery,只需使用元素的原生checked
属性:
function fffunction(checked_value) {
if(checked_value.checked){
console.log("checked");
} else {
console.log("not checked");
}
}