jQuery克隆元素

时间:2014-02-27 15:10:56

标签: jquery clone

我克隆了像

这样的元素
<div class = "button1"> Button1</div>
<div class = "text1Container">
    <div class="myButton"></div>
</div>
<div class = "text2Container"></div>

这里是我的jQuery

$(".button1").click(function() {
    $( ".text1Container").clone().appendTo( ".text2Container" );
});

所以现在我想在“text2Container”中设置点击功能 但它没有用

//why not working
$(".text2Container .myButton").click(function() {
   alert('hello');
});

2 个答案:

答案 0 :(得分:3)

您应该使用.on()绑定动态创建的html元素的事件。试试这个:

$(".text2Container").on('click','.myButton',function() {
   alert('hello');
});

你的代码中有拼写错误。将button1替换为.button1

$(".button1").click(function() {
    $( ".text1Container").clone().appendTo( ".text2Container" );
});

DEMO

答案 1 :(得分:0)

您实际上并没有为button1分配点击次数。您缺少类选择器的.

$(".button1").click(function () {
    $(".text1Container").clone().appendTo(".text2Container");

    $(".text2Container .myButton").click(function () {
        alert('hello');
    });
});

注意,.myButton绑定代码必须与.button1 click处理程序一起使用。您不能将事件绑定到尚不存在的元素。

请参阅Fiddle