java开发中jquery动态(比如一个change事件)删除一个table,再动态添加进去,它里面的属性如id不能用了

change事件里我删除了这个table,再动态添加进去,再取里面的id就没用了,如果重刷一遍就又可以用了。求解是不是jquery就这样?需要再次页面加载?

直接用动态绑定,$("#tableid").live('click',function(){})
就算你删除后再添加你绑定的事件照样会触发,不用再次加载

jquery动态(比如一个change事件)删除一个table--------//动态绑定change事件就行了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-06
动态添加的table应该是没有id的吧!有也不可能和你原来的table有相同的id。。
你是不要这个table还是不要table里的内容?追问

去掉之前会保留一份,添加的就是一样的。因为我做的是根据条件动态添加和删除,两种状态都要有的。具体就是“是否参加保险”项,选“是”下边的保险table都显示,选“否”都不显示,并且不能用css的隐藏,因为还用到validate验证,隐藏不行。

第2个回答  2012-05-06
动态添加这个table 时,给它指定一个ID属性就可以了呀追问

添加的是保留下来的之前的整个table,里面有id了,用的是里面的一个选项的id,还不是table的id。就想知道这个是不算得重加载整个页面才能再取到。其实这个项目现在已经用不到了,就是没明白想搞清楚,不是为解决问题了。

追答

可以这样。按上面你和那个人说的,是不是有多个talbe?每个table里的一些input元素的ID没有规律性?
我想的方法就是,将要删除的那个talbe的html代码保存在一个数组里(考虑到有可能会有多个table的情况),需要用到的时候再把它取出来。因为我想如果是多个,应该会有一一对应的关系,这样就给talbe指定一个ID,那个和这个table有关联的有一个bindID属性,这个bindID的值 就是其对应的talbe的ID值。当需要的时候,再它这个table显示出来时,再根据bindID属性取出这个table就可以了。

如果只有一个table,直接一个用一个变量来保存它,用到的时候直接取出来就行。

追问

分析的挺好,是多个table。可能我问题没说明白,我的错,我是在它又显示出来后,通过id调用这个table中一个input的change事件,结果调不到了,应该是取不到id,疑惑了好久没想明白为什么,重新刷页面就可以调到了,但删除table再加上就不行了。
耐心看完的非常感谢,因为项目不用了,代码让我删了,问题记得很清楚。感到jquery好强大就是自己用的不好。

相似回答