javascript - jQuery 追加 onclick

标签 javascript jquery append

我使用 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>

关于javascript - jQuery 追加 onclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956735/

相关文章:

JQuery:html() 未按预期工作

javascript - JQuery 在 Jest 测试中检查元素可见性

jquery - 重复时输入会失去值(value)

python - 尝试对 .append 使用多个参数,无论如何?

c++ - 将值 append 到嵌套的 QList

javascript - 防止网站在 WebView 中加载并在浏览器中打开

javascript - 将 JavaScript 函数存储在 cookie 中?

javascript - 使用 Redux Saga 每 X 秒发送一次 Action

使用 xval 的 C# mvc2 客户端表单验证,防止发布

javascript - 当一个 div block 被触摸并且在同一条线上时,我如何将一个 div block 放在另一个垂直排列的下方?