2 u011371270 u011371270 于 2016.03.11 16:27 提问

JQ 动态元素的绑定问题,遇到了很奇怪的现象
on jq

我在网页上有一个元素,一个修改按钮,是动态生成的,使用如下语句生成(她在一个大表格form2里面)

$("#revistr").html("<td id=\"revise\"><a href=\"#\" class=\"button\" >修改</a></td>");

然后我使用如下代码进行绑定

 $(document).ready(function(){
$("#revistr").on('click','#revise',function()

绑定完了之后没有问题,可以使用,但我现在因为一些必须的原因,需要动态的生成整一个表form2,于是我就调整动态生成元素,把整个表都通过

 $("#details").html("<form id=\'form2\'>。。。。<tr id=\"revisetr\"><td id=\"revise\">。。。。

但是这样子动态生成的就无法绑定了,没有效果,我看了浏览器调试工具,看网页代码,id什么都对的,就是无法调用那个那个动作了,而且我又试了一下,我先jq生成表格,然后在表格生成那个需要绑定的元素,也还是不行。。奇了怪了。。有谁知道怎么回事么,,谢谢

1个回答

showbo
showbo   Ds   Rxr 2016.03.11 16:48
已采纳

要在$("#details").html执行后在执行$("#revistr").on('click','#revise',function()操作,要不会找不到revistr对象,之前你的revistr是dom已经存在了,on可以在指定对象上执行方法(即使是后面动态加上去的)

就是指定on时jquery选出的对象一定要在dom中存在,可以改为$("#details").on('click','#revise',function()

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!