jQuery 追加 onclick

jQuery append onclick

我使用 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);
}

我做错了什么?

您需要为名称 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>

您没有附加函数。你需要绑定函数,你可以使用 JQuery bind:

    $( "#foo" ).bind({
       click: function() {
         // Do something on click
       },
       mouseenter: function() {
         // Do something on mouseenter
       }
    });