Jquery 从重复行中删除行后添加重复行

Jquery 从重复行中删除行后添加重复行,jquery,Jquery,我正在尝试向表中添加新行。新行与下一行重复,几乎没有更改。新行将删除嵌套表中除第一行以外的所有行。我创建了一个JSFIDLE链接,您可以在其中找到更多详细信息和代码: 出于某种原因,以下工作正常,但上述工作不正常: rowToBeAdded.clone().insertAfter(rowToBeAdded).find(".TBLCONTENTS:gt(0),.TBLALTCONTENTS:gt(0)").remove(); 这是您的代码: var currentRow = $("#modu

我正在尝试向表中添加新行。新行与下一行重复,几乎没有更改。新行将删除嵌套表中除第一行以外的所有行。我创建了一个JSFIDLE链接,您可以在其中找到更多详细信息和代码:

出于某种原因,以下工作正常,但上述工作不正常:

 rowToBeAdded.clone().insertAfter(rowToBeAdded).find(".TBLCONTENTS:gt(0),.TBLALTCONTENTS:gt(0)").remove();
这是您的代码:

var currentRow = $("#moduleRow");
var rowToBeAdded= $("#moduleRow").next().find(".content").not(":first").remove().find(".altcontent").not(":first").remove();
$(currentRow).after(rowToBeAdded);
  • 您需要
    .clone()
    要复制的元素,否则插入/追加它只会移动它
  • 您的表结构缺少一个
    td
    (您有
    ,应该是
  • .find(“.content”).not(“:first”).remove().find(“.altcontent”)
    将首先删除除第一个以外的所有
    .content
    ,然后尝试在第一个
    .content
    中查找
    .altcontent
    ,这可能不是您想要的。可以使用返回上一个jquery对象
  • 您在$(“#moduleRow”)之后插入了更新的行,该行本应插入原始行(
    $(“#moduleRow”)。next()

编辑

实际上,它可以更简单:

var currentRow = $("#moduleRow").next();
currentRow.clone().insertAfter(currentRow)
    .find(".content:not(:first),.altcontent:not(:first)").remove();

感谢您的回答,它在JSFIDLE中工作得非常好,但由于某些原因,在我的应用程序中,它删除了所有.content和altcontent行,并插入空行。我附上了html代码的屏幕截图。应该是
rowToBeAdded.clone().insertAfter(rowToBeAdded)
谢谢我更改了代码,但是由于某些原因,新添加的行的tBody总是空的!似乎出于某种原因它删除了所有行。
var currentRow = $("#moduleRow").next();
var rowToBeAdded = currentRow.clone()
    .find(".content:not(:first),.altcontent:not(:first)").remove().end()
    .insertAfter(currentRow);
var currentRow = $("#moduleRow").next();
currentRow.clone().insertAfter(currentRow)
    .find(".content:not(:first),.altcontent:not(:first)").remove();