2016-03-12 89 views
1

我追加html代码使用jquery append函数。如果在onclick我使用带有一个参数的函数 - 没问题,但是如果我使用具有多个参数的函数,则在控制台中出现错误:SyntaxError: missing) after argument list。我的代码:jQuery追加onclick

var quote = quotes[i]; 
$('#quu').append('<div onclick="addBook('+quote.userId+', '+quote.book+')">'+quote.book+'</div>') 

功能addBook:

function addBook(user_id, name) { 
    alert(name); 
    alert(user_id); 
} 

我做错了吗?

回答

1

您需要报价添加至名quote.book因为它应作为一个字符串参数传递给函数addBook

$('#quu').append('<div onclick="addBook('+quote.userId+', \''+quote.book+'\')">'+quote.book+'</div>') 

var quote = {userId : 1, book: "The GodFather"}; 
 

 
$(document).ready(function(){ 
 
    
 
    $('#quu').append('<div onclick="addBook('+quote.userId+', \''+quote.book+'\')">'+quote.book+'</div>'); 
 

 
}); 
 

 
function addBook(user_id, name) { 
 
    console.log(name); 
 
    console.log(user_id); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="quu"></div>

+0

是的,它帮助我,但现在我得到另一个错误:意外的标记非法,为什么是这样? –

+0

我已经添加了一个正常工作的代码片段,我真的不能猜测ILLEGAL错误,除非您向我们展示完整代码 – KAD

+0

抱歉,这是我的失败。一切正常,谢谢! –