Изключение за отстраняване на грешки в jquery с Firebug

Получавам javascript грешка, чийто изходен ред е в jquery javascript библиотеката:

uncaught exception: Syntax error, unrecognized expression: #

Знам каква е тази грешка: обикновено се случва, ако опитате нещо като:

$('#');

Въпреки това се боря да го отстраня. Би трябвало да е лесно, ако мога просто да получа проследяване на стека. Но Firebug отказва нито прекъсване при грешка, нито осигурява проследяване на стека.

Опитах да щракна върху бутона „Прекъсване при грешка“, който е в горния ляв ъгъл на конзолния панел на Firebug. Също така съм избрал „Показване на проследяване на стека с грешки“ в менюто на конзолата. Но изключението все още се извежда без прекъсване и без проследяване на стека. Има ли друга опция във Firebug, която мога да използвам... някакви трикове за отстраняване на грешки в това съобщение?


person cbp    schedule 28.07.2010    source източник


Отговори (3)


Изтеглете версията за разработка на библиотеката jQuery. Във функцията jQuery добавете извикване console.log към какъвто и селектор да е предаден. Когато получите вашето изключение, списъкът с отпечатани селектори трябва да ви позволи да разберете къде вашият код греши.

person Stefan Kendall    schedule 28.07.2010

За отстраняване на грешки опитайте:

console.log("#");

or

console.trace();

Той ще изведе следи на стека във FB конзолата.

Мисля, че проблемът е, че се опитвате да изберете празен идентификатор ("#"), който извежда грешката. Jquery вероятно анализира/търси идентификатора на "", който е празен низ, използвайки css селектори.

person nicholasklick    schedule 28.07.2010

Можете да опитате да използвате инструмента Javascript Stacktrace (дори има версия с отметки). Можете също така да опитате програмите за отстраняване на грешки, вградени в Safari или Chrome... освен ако, разбира се, проблемът ви не е специфичен за Firefox.

person Ken Redler    schedule 28.07.2010