2010-11-01 5 views
30

Je voulais vérifier mon JavaScript avec JSLint. J'utilise aussi jQuery et JSLint semble être très mécontent de jQuery.Est-il possible de valider mon JavaScript jQuery avec JSLint?

Donc, si j'ai ce code:

$(document).ready{ 
    $("a").click(function() { 
     // foo 
    }); 
}); 

Je reçois quelques messages JSLint:

Error:

Problem at line 1 character 1: '$' was used before it was defined.

$(document).ready{ 

...

j'ai eu un regard sur les options mais je ne pouvais pas comprendre comment dites à JSLint que c'est ok. Si je n'avais qu'un seul appel jQuery dans mon code, je pourrais juste ignorer le message JSLint mais dans 2.500 lignes de script il y a beaucoup d'appels, je ne trouve pas les erreurs que je voudrais corriger entre tous ces messages . Donc, est-ce que quelqu'un sait comment configurer JSLint de telle sorte qu'il fonctionne avec les appels jQuery? Ou y at-il autre chose que je peux utiliser pour vérifier la qualité de mon code JavaScript/jQuery?

Répondre

40

Ce n'est pas JavaScript valide, il doit être:

$(document).ready(function() { 

Alors JSLint sera (à juste titre) se plaindre de la syntaxe.

Si vous voulez vous débarrasser du message Implied global: $, document, aller au fond où il a Prédéfini (séparés) et mettre jQuery, $ dans cette zone de texte puis exécutez à nouveau. Pour la pièce document, cochez Supposons un navigateur dans la première colonne.

Tous les paramètres JSLint vont coller, vous n'avez donc pas besoin de le faire chaque fois que vous revenez.

+0

Ok, merci, que ce soit réglé il. – newtogit

+0

@newtogit - bienvenue! –

+2

Pour éviter les avertissements, vous pouvez ajouter votre code: /* node browser: true */ /* global $ */ – lapo

19

Ajouter ce en haut de votre document pour l'obtenir pour valider:

/*jslint browser: true*/ /*global $*/ 
+1

Merci de vous concentrer sur la question actuelle. J'ai eu le même, avec une syntaxe correcte et ceci l'a cloué. –