我在文本框旁边有一个按钮,当我单击按钮时,我希望它在另一个文本框旁边创建另一个按钮。这段代码就是这样做的,但新按钮不起作用。
<div id="algorithm">
<input type="button" id="add_child" value="+" />
<input type="text" id="textbox0" />
</div>
$('#add_child').click(function() {
$('<input type="button" id="add_child" value="+" />').appendTo('#algorithm');
$('<input type="text" id="textbox0" />').appendTo('#algorithm');
});
答案 0 :(得分:3)
我建议尝试这种方法:
$('#algorithm').on('click','input',function(){
$(this).clone(true,true).insertAfter($(this));
});
修改上述代码以更新id
属性,以便没有重复项:
$('#algorithm').on('click','input',function(){
$(this).clone(true,true).attr('id','add_child' + $('input[type="button"]').length).insertAfter($(this));
});
参考文献:
答案 1 :(得分:0)
您的代码存在许多问题。
首先;绑定不是活动的,因此您添加的任何新元素都不会获得相同的功能。
其次,你要创建具有相同ID的多个元素......大不了!
第三,因为你使用ID选择器它会停止寻找它找到第一个,但我确实有一个预感,如果你将绑定更改为$(),它将会起作用。实时(“点击”,功能(){})