web-dev-qa-db-ja.com

JavaScriptエラー(SyntaxErrorが見つかりませんでした:予期しない入力の終わり)

FireFoxでは動作するが、ChromeやIEでは動作しないJavaScriptコードがあります。

Chrome JSコンソールで、私は以下のエラーを受け取ります。

msgstr "不明なSyntaxError:予期せぬ入力の終わり"#:。

私が使っているJavaScriptコードは次のとおりです。

<script>
 $(function() {
 $("#mewlyDiagnosed").hover(function() {
    $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
 }, function() {
    $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
 });
</script>

エラーは最後の行の});にあります。

183
user482375

2番目の});を追加してください。

正しくインデントされていれば、コードは次のようになります。

$(function() {
    $("#mewlyDiagnosed").hover(function() {
        $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
    }, function() {
        $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
    });
MISSING!

あなたは外側の$(function() {を決して閉じませんでした。

365
SLaks

私の場合は、空のJSONを解析しようとしていました。

JSON.parse(stringifiedJSON);

言い換えれば、起こったことは次のとおりです。

JSON.parse("");
85
falsarella

http://jsbeautifier.org/ /は、縮小したJSコードをインデントするのに役立ちます。

また、 Google Chrome を使用すると、「きれいな印刷」を使用できます。下のスクリーンショットの例を参照してください。Stack Overflowのjquery.min.jsが、私のブラウザから正しくインデントされている:)

enter image description here

36
Hugo

コードを少しフォーマットして、内側のホバー機能を閉じただけです。下の印のある外側の部品は閉じていません。

$(// missing closing)
 function() { // missing closing }
     $("#mewlyDiagnosed").hover(
        function() {
            $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
        }, 
        function() {
            $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
        });
14
hvgotcodes

私の場合は、 bookmarklet 単純な二重引用符 issueになってしまいました。ブックマークレットには単一引用符のみを使用してください。念のため、これは誰かを助けます。

5
Yëco

このエラーは、空のajaxを解析しようとしたときに、空の返されたJson呼び出しが主な原因です。

返されたデータが空の場合にこのテストを解決する

           $.ajax({
                    url: url,
                    type: "get",
                    dataType: "json",
                    success: function (response) {

                      if(response.data.length == 0){ 
                          // EMPTY
                         }else{
                          var obj =jQuery.parseJSON(response.data);
                            console.log(obj);
                         }
                     }
           });
3

JavaScriptのブックマークレットを書き込もうとしたときにこのエラーが発生しました。何が原因で発生しているのかわかりませんでした。しかし、結局私は次のウェブサイトを通してブックマークレットをURLエンコードすることを試みました: http://mrcoles.com/bookmarklet/ そしてそれからエラーは消えた、それはそれがされているJavaScriptコードの特定の文字に関する問題であったに違いありません特別なURL制御文字として解釈されます。

3
user280109

これは、JSに追加するファイルにコメントがあり、実際に何が起こっているのか非常に厄介な理由があるためです-事前にレンダリングされてエラーをキャッチするVMファイルをクリックすると、エラーは、私の場合、使用していたコードのコメントを外すだけでした。

0
Jack Hales

私の場合は、アンカー内のjavascript:void(0)(0)がないためです。

0
Sam

また、ページの最後のスクリプトブロックの終わりを指すこのエラーが表示されましたが、実際にエラーがonclick="pagename"の代わりにonclick="window.location='pagename'"の要素をクリックすることであることがわかりました。常に不足しているブラケットではありません!

0
justanotherguy