2011-07-30 4 views
2

Je reçois l'erreur missing) after argument list dans ma console de Firebug.Erreur de Javascript: "manquant) après la liste d'argument"

Je ne comprends pas pourquoi. Le problème est avec le texte qui est passé en argument de la méthode before(). Je suis sûr que c'est quelque chose à voir avec les guillemets. J'ai essayé de faire \" et \' au lieu de ' mais ni l'un ni l'autre n'a réussi, ils ont donné des erreurs différentes.

Tant que je peux ajouter le HTML qui est dans la méthode before(), cela ne me dérange pas comment je résous cela.

$(document).ready( 
     function() { 
     $("#add").click( 
      function() { 
      $("#add").before("<s:text name='queries[0].property' class='small-text' size='28'/><span class='small-text'> = </span>"); 

     }); 
    }); 
+2

Ce code semble travailler sur son propre: http://jsfiddle.net/shanethehat/aNgSM/ – shanethehat

+0

Je serais prêt à parier sur un bug de Firebug. –

+1

Merci, oui c'est le cas. J'essaie de comprendre. J'ai le sentiment que cela a à voir avec le préfixe Stripes. – Ankur

Répondre

1

On dirait que vous utilisez jQuery. Je parie que le '' 'manquant est quelque chose à faire avec votre document. Prêt, semble déséquilibré.

Essayez de le faire comme ceci:

$(function(){ 
     $("#add").click(function(){ 
      $("#add").before("<s:text name='queries[0].property' class='small-text' size='28'/><span class='small-text'> = </span>"); 
     }); 
}); 

Il est le même que document.ready, juste un raccourci mais je l'utilise tout le temps. Je pense que ça devrait aller.

Hope it helps

EDIT:

Oops I manqué cette chaîne :)

Je voudrais aussi essayer la réponse de JK, qui me semble bon.

4

Il n'y a rien de mal avec le code que vous affichez, donc vous avez probablement un caractère non imprimable dans la chaîne qui l'empêche de fonctionner.

Essayez de copier la chaîne et de la renvoyer, ou si cela ne la corrige pas, retapez la chaîne.

+0

J'ai essayé ce genre de chose pendant des heures :) – Ankur

+0

@Ankur: Puis intensifier. Créez un nouveau fichier et copiez-y des morceaux de code jusqu'à ce que vous trouviez le code qui provoque le message d'erreur. – Guffa

0

Je pense que vous devez échapper certains caractères, car l'analyseur HTML interprète une séquence </ comme la fin d'un script. Donc, essayez d'utiliser à la place <\/:

$(document).ready(
    function() { 
    $("#add").click( 
     function() { 
      $("#add").before("<s:text name='queries[0].property' class='small-text' size='28'/><span class='small-text'> = <\/span>"); 
     }); 
    }); 
Questions connexes