我使用jquery append
函数附加html代码。如果在onclick
上我使用带有一个参数的函数 - 好吧,但是如果我使用带有多个参数的函数,我在控制台中会出错:SyntaxError: missing ) after argument list
。我的代码:
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);
}
我做错了什么?
答案 0 :(得分:2)
您需要在名称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>
答案 1 :(得分:0)
您没有附加函数。您需要绑定功能,可以使用JQuery bind来实现:
$( "#foo" ).bind({
click: function() {
// Do something on click
},
mouseenter: function() {
// Do something on mouseenter
}
});