如何在主div之后附加div

jQuery代码

var $icons = $('.error + .i-icon-div');
if ($icons.length) {
    $icons.each(function () {
        var $this = $(this);
        $this.appendTo($this.prev())
    })
}


HTML代码

<div class="error">
    <input type="text" name="email" />
    <div class="error-message">Please Enter Email</div>
</div>
<div class="error">
    <input type="text" name="email" />
    <div class="error-message">Please Enter Email</div>
</div>
<div class="i-icon-div">Lorem Ipsum</div>


输出量

<div class="error">
    <input type="text" name="email" />
    <div class="error-message">Please Enter Email</div>
</div>
<div class="error">
    <input type="text" name="email" />
    <div class="error-message">Please Enter Email</div>
    <div class="i-icon-div">Lorem Ipsum</div>
</div>


需要这样的输出

<div class="error">
    <input type="text" name="email" />
    <div class="error-message">Please Enter Email</div>
</div>
<div class="error">
    <input type="text" name="email" />
    <div class="i-icon-div">Lorem Ipsum</div>
    <div class="error-message">Please Enter Email</div>
</div>


我在这里讨论过类似的内容Remove div if exits after div and put inside the main div

最佳答案

在此处尝试使用insertBefore(),因此您可以更改:

$this.appendTo($this.prev());


至:

$this.insertBefore($this.prev().find('.error-message'));

08-19 00:02