2010-07-28 6 views
2

Je reçois une erreur javascript dont la ligne source est dans la jquery javascript bibliothèque:Debugging exception jquery avec Firebug

uncaught exception: Syntax error, unrecognized expression: #

Je sais ce que cette erreur est le suivant: il se produit généralement si vous essayez quelque chose comme :

$('#'); 

Cependant, j'ai du mal à le déboguer. Cela devrait être simple si je pouvais juste obtenir une pile-trace. Mais Firebug refuse de commettre une erreur de rupture ou de fournir une trace de pile.

J'ai essayé de cliquer sur le bouton "Break on error" qui se trouve en haut à gauche du volet de la console de Firebug. J'ai également sélectionné "Afficher la trace de pile avec des erreurs" dans le menu Console. Mais l'exception est toujours sortie sans rupture et sans trace de pile. Y at-il une autre option dans Firebug que je pourrais utiliser ... des trucs pour déboguer ce message?

Répondre

2

Téléchargez la version de développement de la bibliothèque jQuery. Dans la fonction jQuery, ajoutez un appel console.log au sélecteur qui a été transmis. Lorsque vous obtenez votre exception, la liste des sélecteurs imprimés doit vous permettre de déterminer où votre code ne fonctionne pas.

2

Pour essayer de débogage:

console.log("#"); 

ou

console.trace(); 

Il sera pile de sortie trace dans la console de FB.

Je pense que le problème est que vous essayez de sélectionner un ID vide ("#") qui renvoie l'erreur. Jquery est probablement en train d'analyser/rechercher l'identifiant de "", qui est une chaîne vide utilisant des sélecteurs css.

1

Vous pouvez essayer d'utiliser l'outil Javascript Stacktrace (il existe même une version bookmarklet). Vous pouvez également essayer les débogueurs intégrés dans Safari ou Chrome ... à moins bien sûr que votre problème ne soit spécifique à Firefox.