括号中的JQuery:SyntaxError:missing)

时间:2011-01-05 16:31:55

标签: jquery syntax

我已经看到关于此语法错误的其他jquery帖子。但我真的找不到这个错误。

var projects = new Object();

$("#project_"+projectId+" .todo_input").each(function(){
    if($(this).attr('disabled') == false){
        id = $(this).attr('id')
        val = $(this).val();
        pos = id.indexOf('_', 6);
        projectId = id.substr(6, pos - 6);
        taskId = id.substr(pos + 1);

        if(projects[projectId] == undefined)
            projects[projectId] = new Object();

        if(projects[projectId][taskId] == undefined)
            projects[projectId][taskId] = val;
    }
});

var today = new Date();


var w = $(document).getUrlParam("week");
var y = $(document).getUrlParam("year");

if(w == undefined){
    w = today.getWeek();
}
if(y == undefined)
    y = today.getFullYear();

$.post("./", {
    controller: "project",
    action: "sendInTodoLoggin",
    data: projects,
    week: w,
    year: y
}, function(data) {
    try{
        dat = eval('(' + data + ')');
    }catch(err){
        alert("Error: " + data);
        return;
    }

    if(dat == 1){
        setTimeout("end('"+projectId+"')", 1000);
    }else{
        $("#loadImg").hide();
        alert('Error');
    }
});

3 个答案:

答案 0 :(得分:3)

在第5行停止阅读:

missing ;

答案 1 :(得分:1)

您的数据是否从帖子操作返回的格式不正确?

答案 2 :(得分:1)

这就是为什么我不喜欢在'if','for'等语句的右侧写开头括号'{'的惯例。这让事情变得混乱,我不知道喜欢这种反对称的背后的原因!括号:

if (...)
{
    if (...)
    {
        if (...)
        {
        }
    }
}

肯定比以下更容易匹配:

if (...) {
    if (...) {
        if (...) {
        }
    }
}

无论如何,作为解决大括号问题的一个好规则,首先要使用Find-Replace来计算开始和结束括号的数量以及它们是否匹配。如果他们不这样做,您可以使用任何好的编辑器(当您将光标放在括号上时突出显示匹配的括号)并搜索'('和'{'并查看突出显示的匹配括号是否是您想要的或不