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