Странное нераспознанное выражение jQuery (синтаксическая ошибка, нераспознанное выражение: .)

#javascript #jquery #html

#javascript #jquery #HTML

Вопрос:

Итак, у меня действительно странная ошибка в jQuery 1.11.1 (сжатый).

У меня сворачивающийся div, и когда я загружаю страницу страницы, которую я разрабатываю на своем Mac, я могу заставить это работать идеально. Думая, что страница готова к завершению, я провел тест на старой доброй Windows, и он не работал.

Я посмотрел на консоль, чтобы понять, почему это не работает, и мне была представлена следующая ошибка »

 Uncaught Error: Syntax error, unrecognized expression: . jquery.js:2
 

Поэтому я решил подробнее изучить, что происходит с этой ошибкой, и это то, что вывод консоли также отображается при дальнейшей проверке.

 fb.error jquery.js:2
fb.tokenize jquery.js:2
fb.select jquery.js:2
fb jquery.js:2
m.fn.extend.find jquery.js:2
m.fn.init jquery.js:2
m jquery.js:2
 

Я не уверен на 100%, есть ли проблема с этой конкретной версией jQuery или это то, что я делаю.

Вот код для моего коллапсирующего погружения.

 $('.').click(function(){
    $('.round-details')
});
 

Любая помощь будет высоко оценена, поскольку эта проблема немного выходит за рамки моих возможностей с jQuery, поскольку я все еще только учусь.

Спасибо

Stu 🙂

Комментарии:

1. что это ..? $('.')

2. Sizzle.error = function( msg ) { throw new Error( "Syntax error, unrecognized expression: " msg ); }; Это блок кода, который выдает ошибку.

3. Все, что я сделал, это загрузил это с jquery.com , Я его не редактировал.

4. @StuartCowley: Правильно. Проблема не в том, что вы скачали. Это в коде, который вы процитировали для своего «сворачивающегося погружения» [так в оригинале].

5. У меня была такая же ошибка, и это было связано с тем, что в моей навигационной панели WordPress-Bootstrap был URL-адрес тега привязки, который невозможно было понять.

Ответ №1:

Что вы пытаетесь выбрать с помощью селектора «.»?

Смотрите Документацию по селекторам : http://api.jquery.com/category/selectors /

Кроме того, вы должны использовать несжатую версию jQuery при попытке отладки.

Комментарии:

1. Я понятия не имею, как я уже упоминал выше, все, что я сделал, это загрузил сжатую версию. Это отлично работало на OS X, а затем я захожу на компьютер с Windows, и выдается эта ошибка. Затем я пошел и скачал несжатую версию, чтобы посмотреть, в чем заключалась сделка и в чем заключалась проблема. Может быть, если бы я попробовал более раннюю версию… Как упоминалось также в этом посте, я новичок в jQuery / JavaScript

Ответ №2:

Ошибка исходит от анализатора селектора CSS. . является недопустимым селектором (у вас он есть в вашем $('.') ). . Запускает селектор класса, но у вас должно быть что-то после него, например:

 $('.some-class-here').click(function(){
    $('.round-details')
});
 

Или вам может вообще не понадобиться селектор класса, и в этом случае не используйте . .

Причина, по которой вы видите ошибку, заключается в jquery.js том, что именно jQuery вызывает синтаксический анализатор селектора CSS для вас. Вы вызываете $('.') , и он разворачивается и вызывает анализатор селектора браузера (или его встроенный Sizzle, в зависимости). В любом случае, поскольку . это недопустимый CSS-селектор, он выдает ошибку.

Ответ №3:

Хорошо, ребята,

Я нашел, в чем проблема, и, черт возьми, я смущен.

Я работал над страницей и думал, что Dropbox синхронизировал все файлы, по-видимому, нет. Я приступаю к работе и понимаю, почему он работал на OS X, а не на Windows, и сразу же понял, что происходит.

Извините, что потратил все ваше время.

Stu

Комментарии:

1. Этот пост датируется прошлым, но на случай, если вы все еще используете Dropbox для синхронизации файлов — я настоятельно рекомендую вам переключиться на Git. Я попробовал Dropbox для работы над проектами, и это кошмар!

Ответ №4:

 $('.').click(function(){
    $('.round-details')
 

});

это неверно. Что внутри скобок

 $('here')
 

идентифицирует ваш селектор, который в случае щелчка запускает действие.
Вы должны поместить свой селектор целевого элемента в эти скобки, например

 $('.my-element-container .my-element div').click(function () {
    //your actions to be executed on click on the element
});
 

Комментарии:

1. Это имеет большой смысл, спасибо Джуманджи. Я поиграю и вернусь к вам о том, как я иду 🙂