如何在主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>我在这里讨论了一些类似的问题,如果在div之后退出,则移除div并将其放入主div内。
发布于 2014-02-07 08:07:50
在这里尝试使用insertBefore(),这样您就可以更改:
$this.appendTo($this.prev());至:
$this.insertBefore($this.prev().find('.error-message'));发布于 2014-02-07 08:16:52
使用~而不是+
var $icons = $('.error ~ .i-icon-div');
https://stackoverflow.com/questions/21622392
复制相似问题