我正在尝试找到阻止页面显示的代码,我认为这个遗留功能可能是罪魁祸首:
function SetTabOrder() {
$.each([
"#BeginDate",
"#BeginTime",
"#EndDate",
"#EndTime",
"#InputSite-input",
"#cmdAddSite",
"#InputDept-input",
"#cmdAddDept",
"#IncludeDepts",
"#ExcludeDepts",
"#UPCBeginsWith"],
function(i, n) {
$(n).prop("taborder", "y");
}
}
对于我来说,“每个”位看起来都是错误的,或者至少是奇怪的,并且我将右边的paren添加到右尖括号中,如下所示:
"#UPCBeginsWith"]),
...但是jsFiddle / JSHint告诉我,“函数声明中缺少名称”
如果我删除了那个paren,它会给我两个错误,一个在第一行:
Unmatched '{'
......还有一个在最后一行:
"Missing semicolon."
但是,在末尾添加分号不会改变任何内容。
答案 0 :(得分:4)
function SetTabOrder() {
$.each(["#BeginDate",
"#BeginTime",
"#EndDate",
"#EndTime",
"#InputSite-input",
"#cmdAddSite",
"#InputDept-input",
"#cmdAddDept",
"#IncludeDepts",
"#ExcludeDepts",
"#UPCBeginsWith"],
function(i, n) {
$(n).prop("taborder", "y");
});
}
答案 1 :(得分:2)
我认为缺失括号的位置在回调函数之后:
$.each( an_array, function(){
// callback
});
//-^---- this one
答案 2 :(得分:2)
$.each
是一个函数调用,因此需要有一个右括号(并且还应该有一个分号)。
$.each([ ... ], function () { ... });← here's your issue
答案 3 :(得分:2)
您忘记关闭每个人的电话。
function SetTabOrder() {
$.each([
"#BeginDate",
"#BeginTime",
"#EndDate",
"#EndTime",
"#InputSite-input",
"#cmdAddSite",
"#InputDept-input",
"#cmdAddDept",
"#IncludeDepts",
"#ExcludeDepts",
"#UPCBeginsWith"],
function(i, n) {
$(n).prop("taborder", "y");
})
}
如果您使用的编辑器可以匹配括号,它将对您有所帮助。以VI为例,你可以点击%符号跳转到匹配的字符。对于windows notepad++,对于unix emacs或vi来说,这是一个不错的选择。