我可以将每个元素用于动态创建的元素吗?

时间:2013-09-06 01:16:34

标签: javascript jquery web each

您好我可以将它们用于动态创建的元素吗?

$('#cart-info .shopp').each(function(){
    var cartitem = $(this);
    alert(cartitem);
    cartitem.find('img.remove').on('click',function(){
        alert(cartitem.attr('id'));
    });
});

我在div cart-info下创建了元素。但不幸的是,click事件不起作用。如果在页面加载时提供元素,则它可以工作。例如,请查看http://jsfiddle.net/epapathanasiou/jpdZt/1/

3 个答案:

答案 0 :(得分:1)

使用事件委托

$('#cart-info').on('click', '.shopp img.remove', function(){
    alert(cartitem.attr('id'));
});

答案 1 :(得分:1)

$('#cart-info').on('click', '.shopp img.remove', function(){
    // this is the `img.remove` element
    alert($(this).closest('.shopp').attr('id'));
});

<强> Here is the demo

答案 2 :(得分:0)

你也可以这样做:

$('#cart-info .shopp').each(function () {
    var cartitem = $(this);
    console.log(cartitem.text());
    cartitem.find('img').on('click',function () {
        console.log(cartitem.attr('id'));
    });
});