jquery 后添加tr 执行click问题
<tableid="aa"width="500"border="1"cellspacing="0"cellpadding="0"><tr><td>确认</td><td>确...
<table id="aa" width="500" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>确认</td>
<td>确认</td>
<td class="cc">确认</td>
<td>确认</td>
</tr>
</table>
<button type="button" id="button1">添加</button>
$("tr").each(function (){
$(this).find("td:eq(2)").click(function (){
alert(123)
})
});
$("#button1").click(function (){
$("table").append('<tr><td>确认</td> <td>确认</td><td class="cc">确认</td><td>确认</td></tr>');
});
当我在添加一行, 在点td就不弹了 展开
<tr>
<td>确认</td>
<td>确认</td>
<td class="cc">确认</td>
<td>确认</td>
</tr>
</table>
<button type="button" id="button1">添加</button>
$("tr").each(function (){
$(this).find("td:eq(2)").click(function (){
alert(123)
})
});
$("#button1").click(function (){
$("table").append('<tr><td>确认</td> <td>确认</td><td class="cc">确认</td><td>确认</td></tr>');
});
当我在添加一行, 在点td就不弹了 展开
4个回答
展开全部
因为你页面加载的时候只给原有的tr绑定了方法,而你新添加的tr由于是动态添加的,所以没有绑定事件。
当你新添加方法执行完成时再调一下绑定点击事件的方法就行了。
当你新添加方法执行完成时再调一下绑定点击事件的方法就行了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
主要原因是你点击后,没有把刚才tr放在页面上,只是在内存里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好!!
你这属于动态添加元素,事件绑定使用bind或live方法,或者deltegate()方法···
你这属于动态添加元素,事件绑定使用bind或live方法,或者deltegate()方法···
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询