2010-09-09 213 views
1

我得到这个错误,这个javascript谁能帮我找出我做错了什么?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>'); 

它给我的错误

missing) after argument list 

谁能帮助?

感谢

杰米

+2

看看这里应用的代码高亮显示。看到错误? ;) – 2010-09-09 12:20:37

回答

9

它看起来像你需要逃避一些单引号在那里:

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

谢谢你应该看到,真的! – 2010-09-09 12:24:26

3

你需要逃离封闭的报价是这样的:

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

只是为了您的信息,但是有一个更好的语法,然后把整个事情作为一个巨大的HT ML片段。你可以从零开始用jQuery构建整个事物:

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

这是jQuery的方式。 +1''attr('href',...)'可以被'click(function(){...})'替代,使它更具惯用性。 – Tomalak 2010-09-09 12:41:22