Javascript 仅在循环的最后一个元素处附加元素之前插入

Javascript 仅在循环的最后一个元素处附加元素之前插入,javascript,jquery,Javascript,Jquery,我有一组行,我想在其中添加另一组行。我尝试将其作为所有行的循环,然后在每个行上执行insertAfter操作 let rows_to_be_attached = parent_tr.nextAll().not('.newly-rows'); let rows_to_attach = parent_tr.nextAll('tr.newly-rows').not('.mia'); $(rows_to_be_attached).each(function(i, el) { $(rows_

我有一组行,我想在其中添加另一组行。我尝试将其作为所有行的循环,然后在每个行上执行
insertAfter
操作

let rows_to_be_attached = parent_tr.nextAll().not('.newly-rows');
let rows_to_attach = parent_tr.nextAll('tr.newly-rows').not('.mia');

$(rows_to_be_attached).each(function(i, el) {    
  $(rows_to_attach).insertAfter($(el));    
}

它仅在最后一个
el
处将
行附加到
的'tr's'。为什么?

您在每个循环中插入相同的元素,因此它将从DOM中先前插入的位置移动,而不是从该克隆并插入它

$(rows_to_be_attached).each(function(i , el){    
    added_rows.clone().insertAfter($(el));    
})

如果有多个元素,并且希望逐个插入,则使用索引获取元素

$(rows_to_be_attached).each(function(i , el){    
    added_rows.eq(i).insertAfter($(el));    
})

您在每个循环中插入相同的元素,因此它将从DOM中先前插入的位置移动,而不是从该克隆并插入它

$(rows_to_be_attached).each(function(i , el){    
    added_rows.clone().insertAfter($(el));    
})

如果有多个元素,并且希望逐个插入,则使用索引获取元素

$(rows_to_be_attached).each(function(i , el){    
    added_rows.eq(i).insertAfter($(el));    
})

代码中的
added_rows
在哪里?在循环的每个迭代中,您都在移动相同的
added_rows
元素。您可能需要在此处调用
clone()
,具体取决于您试图实现的目标。还请注意,您在这里双重包装了两个jQuery对象,您只需将
el
传递到
insertAfter()
,而无需将其传递到jQueryobject@PranavCBalan
行到行附加
。。抱歉进行了更改代码中有
added_行
吗?在循环的每次迭代中,您都在移动相同的
added_行
元素。您可能需要在此处调用
clone()
,具体取决于您试图实现的目标。还请注意,您在这里双重包装了两个jQuery对象,您只需将
el
传递到
insertAfter()
,而无需将其传递到jQueryobject@PranavCBalan
行到行附加
。。抱歉做了更改克隆人到底在这里做什么?。。。在循环上移动插入的元素?那么我们是在克隆的时候插入的?@ReyYoung:你能把你的requiremenet弄清楚一点吗?不,先生。你已经帮了我。。。只是等着给出正确的答案。。无法在7分钟内接受回答。。不管怎样,你还能帮我提另一个问题吗?我会问并在这里提到克隆人到底在这里干什么?。。。在循环上移动插入的元素?那么我们是在克隆的时候插入的?@ReyYoung:你能把你的requiremenet弄清楚一点吗?不,先生。你已经帮了我。。。只是等着给出正确的答案。。无法在7分钟内接受回答。。不管怎样,你还能帮我提另一个问题吗?我将在这里询问并提及这一点