2013-02-16 5 views
0

Часто (слишком часто) Я получаю эту ошибку в хром-консоли. Я действительно не могу найти какую-либо ошибку syntacs в моем яваскрипте кодыUncaught SyntaxError: Неожиданный токен) javascript in chrome

Когда я пытаюсь определить, где эта ошибка происходит в Google Chrome, он всегда показывает это:

chrome javascript error

Это показывает, что ошибка на начало файла (где-то вокруг DOCTYPE). Это только, что хром не показывает больше информации или я перепутал с включением файлов где-нибудь? (или даже синтаксис?). В любом случае, я не могу найти его с помощью отладки консоли


это global.js:

(function() { 

    $("#btadd").click(function() { 

     $(".newlist").slideUp(); 
     return false; 

    }); 


})(); 

это HTML:

<div class="newlist" style="display:none"> 
<h4>Title: <input type="text"/></h4> 
</div> 
<br /> 
    <a href="javascript:void()" id="btadd"><span>Add New</span></a> 
+1

Вам необходимо отправить код или пример , – j08691

+3

SyntaxError не будет вашим DOCTYPE - пройдите свой JavaScript – hohner

+1

Пожалуйста, введите код –

ответ

2

Изменить это:

(function() { 
    $("#btadd").click(function() { 
     $(".newlist").slideUp(); 
     return false; 
    }); 
})(); 

к этому:

$(function() { 
    $("#btadd").click(function() { 
     $(".newlist").slideUp(); 
     return false; 
    }); 
}); 

Или переместить существующий JavaScript в конце тела. Вы создали самозапускающуюся анонимную функцию, выполняемую до того, как будут загружены элементы, к которым она применяется. Это будет нормально работать, когда DOM будет полностью загружен, но поскольку во главе вашего документа он работает слишком рано. Используя пример, который я показал вам, вы используете событие готовности документа jQuery для запуска кода.

+2

Это не может быть прав. Если это так, то ошибка будет чем-то вроде TypeError или что-то недействительным или неопределенным, поскольку элементы DOM не могут быть найдены. Но ошибка, которая была брошена, по-видимому, является синтаксической ошибкой, поэтому должно быть что-то еще неправильно. Поскольку в опубликованном javascript не обнаружено никаких синтаксических ошибок, я предполагаю, что на странице присутствует больше скриптов, на одном из этих сценариев содержится синтаксическая ошибка. – AHM

+1

на самом деле это сработало, спасибо – Alexim

+0

@ АХМ - нет, это правильно. Вы можете легко воспроизвести это в jsFiddle. – j08691

5

У меня была аналогичная проблема. Ошибка может также исходить от

javascript:void(); 

, которые на самом деле должны быть

javascript:void(0); 

Вы можете воспроизвести эту ошибку в консоли с

void() 
Смежные вопросы