使用Jquery动态创建按钮

我需要使用Jquery动态创建10个按钮,并将它们上的文本设置为1-10,并将相同的单击事件添加到所有按钮。

我应该使用dom创建元素还是其他东西?

$(document).ready(function() { for(i = 1; i <=10; i++) { $('', { text: i, //set text 1 to 10 id: 'btn_'+i, click: function () { alert('hi'); } }); } }); 

希望能帮助到你

试试这个

  var $something= $('').attr({ type: 'button', name:'btn1', value:'am button'}); 

现在将其附加到一个名为var的div

  $("#var").append($something); 

当然,您需要在循环中执行此操作并将迭代值附加到按钮的名称或ID字段,以创建按钮的动态命名。

希望这个概念有帮助:)

我创造了这个小家伙。 认为个别function是矫枉过正,但这是问题所要求的(我认为):

https://jsfiddle.net/mmv1219/koqpzrar/1/

HTML:

  

JavaScript的:

 $('#Delta1').click(function () { var functions = ['btn1()', 'btn2()', 'btn3()', 'btn4()', 'btn5()', 'btn6()', 'btn7()', 'btn8()', 'btn9()', 'btn10()']; var div = document.getElementById('insertHere'); var ctr = 1; for (var i in functions) { var btn = document.createElement('button'); var txt = document.createTextNode(String(ctr)); btn.appendChild(txt); btn.setAttribute('type', 'button'); btn.setAttribute('onclick', functions[i]); btn.setAttribute('id', 'button' + ctr); div.appendChild(btn); ctr++; } }); function btn1() {alert('button 1');} function btn2() {alert('button 2');} function btn3() {alert('button 3');} function btn4() {alert('button 4');} function btn5() {alert('button 5');} function btn6() {alert('button 6');} function btn7() {alert('button 7');} function btn8() {alert('button 8');} function btn9() {alert('button 9');} function btn10() {alert('button 10');} 

请参阅有关如何使用jQuery创建元素的信息。使用jQuery 创建HTML元素的最有效方法是什么?

此外,一旦创建了元素,要附加事件,您需要使用Live()关键字。

 $("#btn1").live("click", function(){ //Do work });