2010-09-09 4 views
1

Je reçois cette erreur avec ce javascript quelqu'un peut-il m'aider à comprendre ce que je fais mal?javascript missing) argument

$(this).prepend('<a class="booknow2 sidelink sidelinkNew" href="javascript:__doPostBack('SetSess','')"><img src="../../images1/button/leftEdge.png" width="4" height="35" style="float:left; margin:0; padding:0;" alt="book now" /><img src="../../images1/button/rightEdge.png" width="4" height="35" style="float:right; margin:0; padding:0;" alt="book now" /><span>Check availability &raquo;</span></a>'); 

Il me donne l'erreur

missing) after argument list 

Quelqu'un peut-il aider?

Merci

Jamie

+2

Regardez la surbrillance de code appliquée ici. Voir l'erreur? ;) –

Répondre

9

Il semble que vous avez besoin d'échapper à quelques guillemets simples là-bas:

... __doPostBack(\'SetSess\',\'\') ... 
+1

Merci devrait vu cela vraiment! –

3

Vous devez échapper à des citations jointes comme ceci:

__doPostBack(\'SetSess\',\'\') 
3

Juste pour votre information, mais il y a une meilleure syntaxe alors pour préfixer le tout comme un énorme HT Fragment ML. Vous pouvez construire le tout avec jQuery à partir de zéro:

var anchor = $('<a>', { 
    'class': 'booknow2 sidelink sidelinkNew', 
    // Try to use event handlers instead - inline event handlers are *bad* 
    href: "javascript:__doPostBack('SetSess','')" 
}).prependTo(this); 

$('<img>', { 
    'width': '4', 
    'height': '35', 
    'alt': 'book now', 
    'src': '../../images1/button/rightEdge.png' 
}).css({ 
    // Try to use CSS instead - add a class 
    // and define the CSS in a separate stylesheet 
    'float': 'left', 
    'margin': 0, 
    'padding': 0, 
}).appendTo(anchor); 

$('<span>', { 
    html: 'Check availability &raquo;' 
}).appendTo(anchor); 
+0

C'est la méthode jQuery. +1 Le 'attr ('href', ...)' peut être remplacé par 'click (function() {...})' pour le rendre encore plus idiomatique. – Tomalak