Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将变量传递给JQuery中的函数_Javascript_Jquery - Fatal编程技术网

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.