Javascript 如何将变量传递给JQuery中的函数
我有这样的想法:Javascript 如何将变量传递给JQuery中的函数,javascript,jquery,Javascript,Jquery,我有这样的想法: for (var i = 1; i <= numPages; i++) { buttons.append($("<button onclick='getJSON(i)'>"+i+"</button>")); } for(var i=1;i将i作为变量传递给getJSON方法。您错误地将其作为字符串发送 for (var i=1;i<=numPages;i++) {
for (var i = 1; i <= numPages; i++)
{
buttons.append($("<button onclick='getJSON(i)'>"+i+"</button>"));
}
for(var i=1;i将i作为变量传递给getJSON方法。您错误地将其作为字符串发送
for (var i=1;i<=numPages;i++)
{
buttons.append($("<button onclick='getJSON("+i+")'>"+i+"</button>"));
}
for(var i=1;i按钮。追加($(“”+i+));
您需要正确地连接,就像您为另一个i
所做的那样。其他回答者已经描述了如何连接。
不过,我建议另一种方法:
for (var i=1; i<=numPages;i++)
{
$("<button/>")
.addClass('myClass')
.attr('data-my-id', i)
.text(i)
.appendTo(buttons);
}
$(document).on('click', '.myClass', function() {
getJSON($(this).attr('data-my-id'));
});
for(var i=1;我感谢你。我有一种感觉,它有点像这样愚蠢,我尝试了一些变体,但没有一个有效。从性能角度看,你如何比较这两种方法?@NishanSenevirathna JS以获得性能,jQuery以获得方便:)我已经更新了答案谢谢你Yelder!我也支持你的答案:)但在调试过程中也有些困难,因为附加到元素的函数不可见。
for (var i=1; i<=numPages;i++)
{
$("<button/>")
.addClass('myClass')
.attr('data-my-id', i)
.text(i)
.appendTo(buttons);
}
$(document).on('click', '.myClass', function() {
getJSON($(this).attr('data-my-id'));
});
<button class='myClass' data-my-id='1'>1</button>
<button class='myClass' data-my-id='2'>2</button>
<button class='myClass' data-my-id='3'>3</button>
<button class='myClass' data-my-id='4'>4</button>
etc.