使用 .After() 在元素后面添加一个元素会带走之前添加的元素。 (JQuery)

Adding an element behind an element with .After() takes the previous added elements with them. (JQuery)

我有一个动态列表,我可以在其中添加文件字段。但是当我添加多个字段时,所有添加的删除按钮都会被推送到最后添加的字段。

当我使用 .before() 而不是 .after() 时,它确实可以正常工作,只是它在我不想要的元素之前..

演示:

https://jsfiddle.net/yokLpnwo/11/

好吧,按钮添加在 Dom 上,这是您的按钮 css 在删除按钮上,这会使您的按钮相互重叠。

'<button type="button" id="remove' + (next) + '" class="btn btn-danger remove-me"  style="margin-top: -34px; position: absolute; right: 40%;" >-</button></div><div id="field">'

CSS 你用这个按钮添加导致你的按钮相互重叠。改变 margin top 与相应的乘以变量 next,如下所示,

'<button type="button" id="remove' + (next) + '" class="btn btn-danger remove-me"  style="margin-top: -'+(next*34)+'px; position: absolute; right: 40%;" >-</button></div><div id="field">'