首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替代jQuery replaceAll()?

替代jQuery replaceAll()?
EN

Stack Overflow用户
提问于 2012-05-10 23:50:54
回答 1查看 469关注 0票数 0

我有一些代码可以作为jQuery对象从动态构建的表中移除一个tr (每个tr都有一个惟一的id: trid):

代码语言:javascript
复制
tri = $("#"+trid+"");
var newrow = '<tr id="newr"><td colspan="4" align="center"><div id="nrow"> </div></td></tr>';
tri.after(newrow);
tri.detach();

然后我使用innerHTML在div 'nrow‘中放置了一个表单..。第一次使用的表单中有一个jQuery ui数据报警器。

当表格被取消时,我把列表放回原来的样子:

代码语言:javascript
复制
setTimeout("tri.replaceAll( $('#newr') )", 400);

这一切都工作得很好,只是如果我试图编辑那个(或任何)行,它就会杀死表单中的jquery数据报警器。我很费劲地把它打到了replaceAll线上。如果我把它取出来,然后通过重新构建它来替换列表,它就会运行得很好(也不是超时)。

那么,在不使用replaceAll (replaceWith也不起作用)的情况下,是否有另一种方法将tr 'newr‘替换为jquery对象'tri’?

编辑:

好的,这就是我如何从页面其他地方的div移动表单:

代码语言:javascript
复制
eP = $('#eP');
eP.replaceAll( $('#nrow') );
$("#editPast").show('blind','',500,'');

eP包含隐藏的div editPast..。

然后,在cancel函数中,我将eP放回:

代码语言:javascript
复制
setTimeout(function() {eP.appendTo($('#ePreplace')); }, 500);  (thanks adeneo!)

在我tri.replaceAll之前,虽然在setTimeout之后.

因此,我想我的问题是,在#nrow中使用了eP之后,它不会携带datepicker状态,而只携带html。

修好了!

eP.appendTo更改为$('#eP').appendTo,以便将其从dom而不是原始变量中提取出来。糟了!谢谢你让我用你的just detach()评论重新思考这个问题!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-15 03:07:03

修好了!

将eP.appendTo更改为$('#eP').appendTo,以便将其从dom而不是原始变量中提取出来。糟了!谢谢adeneo让我用你的‘脱离()’的评论来重新思考这个问题!

谢谢NiftyDude建议我也这么做..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10543656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档