我最初的目标是这样一个复选框:
$("#" + tempid_array[0] + " #" + tempid_array[1]).click();
还执行了它与之绑定的任何绑定事件/操作......并且这个 - 工作。
但我想在执行此操作之前检查目标复选框是否在舞台上。 (否则不会执行绑定事件,我需要手动执行相同的操作。)
我的问题是2部分:
1。)为什么这个 - 找不到舞台上的目标复选框(当它是100%时)
我使用相同的选择器/语法来执行click()事件??
//check if checkbox is on stage
if($("#" + tempid_array[0] + " #" + tempid_array[1]).lenth > 0){
//checkbox found, un-checking
console.log("checkbox is on stage");
//let bound checkbox event do everything
$("#" + tempid_array[0] + " #" + tempid_array[1]).click();
//$("#" + tempid_array[0] + "#"+tempid_array[1]).prop("checked", false);
//$("#" + tempid_array[0] + "#"+tempid_array[1]).attr("checked", false);
}else{
//checkbox not found
console.log("checkbox -not- on stage");
//do everything ourselves
//etc...etc...
}
以上总是返回false,在舞台上找不到复选框?
2。)当复选框上的click()事件被触发时(当单独使用而不是在if()语句中使用时...我无法使prop或attr变体起作用?复选框仍然有复选框显示(好像它仍被选中)
我做错了什么?句法?错误的方法完全?
我的主要问题是我怎样才能检测到复选框在舞台上的哪个位置? 第二个问题是好奇心,因为click()事件没有问题..但是prop / attr什么都不做?
答案 0 :(得分:1)
.lenth > 0
应该是
.length > 0
并且您在.prop
中错过了一个空格 - 应该是" #"
,即
$("#" + tempid_array[0] + " #"+tempid_array[1]).prop("checked", false);