jQuery函数同步(仅适用于alert)

时间:2010-07-21 14:08:48

标签: jquery synchronization

这里我构建一个数组:

var optionTexts = [];
    $('#stripeMeSubSubCat tr').each(function(){
        if ($(this).find('input:checkbox.subsubcat_chkclass:not(:checked)').length == 0)
            {
                subsubrow_cat_id_no = parseInt($(this).closest("tr").attr("id"));               
                optionTexts.push(parseInt(subsubrow_cat_id_no));
            };          
    });

以下代码仅在启用警报时才有效。我已经读过这可能是由于同步问题。有没有解决下面的代码?谢谢。

$('#stripeMeSubSubCat tr').each(function(){                                      
        myindex = parseInt($.trim($(this).closest("tr").attr("id")));

        if (jQuery.inArray(myindex, optionTexts) == -1) {
             var equal="FALSE";
        }else{
             var equal="TRUE";
            $("#stripeMeSubSubCat tr[id='" + myindex + "'] input").attr('checked', true);       
        };  

        //alert(equal);
});

2 个答案:

答案 0 :(得分:1)

你的意思是“只有在启用警报时才有效”?您需要描述两种情况下的行为差异。

您的代码没有异步调用,因此不应存在同步问题。但是,您似乎使用整数作为DOM元素id。这是不允许的。

答案 1 :(得分:0)

您可能需要等待DOM加载。尝试将此代码包装在:

$(function(){
  // put code here
});