2016-07-29 39 views
-3

私は非常にこれに新しく、おそらく明らかですが、私はこのjavascriptの構文について間違っていることを解決できません。私は周りを変えようとしました。私が見る限り、すべてのタグが閉じられています。私はここで検索しようとしましたが、助けになるほど関連性のあるものは見つかりませんでした。 それは現在のフォームの下で私は "キャッチされない構文エラー:予期しないトークン"を取得 ")。私はそれを変更しようとすると、私は同じまたは "キャッチされていない構文エラー:予期しない入力の終了"を取得します。 助けていただければ幸いです。おかげさまで JavaScriptがキャッチされていない構文エラー予期しないトークン)/予期しない入力の終了

var main = function() { 
    $(".article").click(function() { 
     $('.article').removeClass('current'); 
     $('.description').hide(); 

     $(this).addClass('current'); 
     $(this).children('.description').show(); 

    $(document).keypress(function(event) { 
     if(event.which === 111) { 
      $('.current').children('.description').toggle(); 
     }; 
    }); 

$(document).ready(main); 
+4

適切なインデントse jsFiddleだけでなく、あなたのコードを再生するだけでなく、それを "整頓";それを正しくフォーマットすると読みやすくなり、あなたのような間違いは簡単に修正できます。 https://jsfiddle.net/ – Andreas

+1

を示すだろう – Josh

+0

[JSHint](http://jshint.com/)も使用できます。 – Xufox

答えて

2

あなたmainclick機能を閉じるために、中括弧が欠落している(あなたが以下のコメントどおりclickハンドラでkeypressを入れ子にしていないようにも少しクリーンアップ):

var main = function() { 
    $(".article").click(function() { 
    $('.article').removeClass('current'); 
    $('.description').hide(); 

    $(this).addClass('current'); 
    $(this).children('.description').show(); 

    }); // here 

    $(document).keypress(function (event) { 
    if (event.which === 111) { 
     $('.current').children('.description').toggle(); 
    }; 
    }); 

}; // here 

$(document).ready(main); 

それはところで、適切なインデントでこれらをキャッチするのはとても簡単です

+0

'main'と' click'は閉じなければならないと私は同意しますが、 '$(document).keypress'と' $(document).ready'はそうではないと主張します。 'click'の中にあると仮定し、' $(document).ready'は 'main'の外にあるはずです。質問のコードの編集は、私が何を意味するのかを示しています。 – jonhopkins

+0

@jonhopkinsよ、ええ、良い点。編集された – mzmm56

1
var main = function() { 
    $(".article").click(function() { 
     $('.article').removeClass('current'); 
     $('.description').hide(); 

     $(this).addClass('current'); 
     $(this).children('.description').show(); 
    }); //end click 

    $(document).keypress(function(event) { 
     if(event.which === 111) { 
      $('.current').children('.description').toggle(); 
     }; 
    }); 
}; // end main function 
$(document).ready(main); 
あなたはUという問題
関連する問題