0

ページの表示を妨げているコードを見つけようとしていますが、このレガシー関数が原因である可能性があると思います:

function SetTabOrder() {
    $.each([
            "#BeginDate",
            "#BeginTime",
            "#EndDate",
            "#EndTime",
            "#InputSite-input",
            "#cmdAddSite",
            "#InputDept-input",
            "#cmdAddDept",
            "#IncludeDepts",
            "#ExcludeDepts",
            "#UPCBeginsWith"], 
        function(i, n) {
            $(n).prop("taborder", "y");
        }
}

「各」ビットは間違っているか、少なくとも奇妙に見えます。次のように、右山括弧に右括弧を追加しました。

"#UPCBeginsWith"]), 

...しかし、jsFiddle/JSHintは「関数宣言に名前がありません」と言います

その括弧を削除すると、最初の行に 1 つずつ、2 つのエラーが表示されます。

Unmatched '{'

...そして最後の行に1つ:

"Missing semicolon."

ただし、最後にセミコロンを追加しても何も変わりません。

4

4 に答える 4

4
function SetTabOrder() {
    $.each(["#BeginDate",
            "#BeginTime",
            "#EndDate",
            "#EndTime",
            "#InputSite-input",
            "#cmdAddSite",
            "#InputDept-input",
            "#cmdAddDept",
            "#IncludeDepts",
            "#ExcludeDepts",
            "#UPCBeginsWith"], 
        function(i, n) {
            $(n).prop("taborder", "y");
        });
}
于 2013-08-14T22:55:35.707 に答える
2

欠けている括弧の場所は、コールバック関数の後だと思います:

  $.each( an_array, function(){
    // callback
  });
//-^---- this one
于 2013-08-14T22:54:51.783 に答える
2

$.eachは関数呼び出しであるため、閉じ括弧が必要です (セミコロンも必要です)。

$.each([
    ...
]、 関数 () {
    ...
});←これがあなたの問題です
于 2013-08-14T22:55:10.237 に答える
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です。

于 2013-08-14T22:57:53.603 に答える