您好我可以将它们用于动态创建的元素吗?
$('#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/
答案 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'));
});
});