1

我最初的目标是这样的复选框:

$("#" + tempid_array[0] + " #" + tempid_array[1]).click();

它还执行了与之相关的任何绑定事件/动作......并且这 - 确实 - 工作。

但是,我想在执行此操作之前检查目标复选框是否在舞台上。(否则绑定的事件将不会被执行,我需要手动执行相同的操作。)

我的问题是两部分:

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 什么都不做?

4

1 回答 1

1
.lenth > 0

应该

.length > 0

你在.prop- should be中缺少一个空格" #",即

$("#" + tempid_array[0] + " #"+tempid_array[1]).prop("checked", false);
于 2014-11-09T23:07:37.830 回答