1

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

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

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

4

3 回答 3

1

使用事件委托

$('#cart-info').on('click', '.shopp img.remove', function(){
    alert(cartitem.attr('id'));
});
于 2013-09-06T01:21:16.527 回答
1
$('#cart-info').on('click', '.shopp img.remove', function(){
    // this is the `img.remove` element
    alert($(this).closest('.shopp').attr('id'));
});

这是演示

于 2013-09-06T01:23:35.733 回答
0

你也可以这样做:

$('#cart-info .shopp').each(function () {
    var cartitem = $(this);
    console.log(cartitem.text());
    cartitem.find('img').on('click',function () {
        console.log(cartitem.attr('id'));
    });
});
于 2013-09-06T01:28:03.860 回答