【问题标题】:Append multiple divs to new location (using .prev)将多个 div 附加到新位置(使用 .prev)
【发布时间】:2016-10-12 04:21:04
【问题描述】:
基本上我需要将所有链接移动到 div.item 中选择的 div 中
<div class="item">
<div class="inner">
<a class="link">HELLO</a>
</div>
</div>
<div class="item">
<div class="inner">
<a class="link">HELLO</a>
</div>
</div>
我一直在玩下面的脚本,但似乎无法完成
$( ".link" ).each(function(){
var prevbox = $(this).prev('.item');
$(this).appendTo(prevbox);
});
【问题讨论】:
标签:
jquery
function
append
each
【解决方案1】:
$(".link").each(function() {
var prevbox = $(this).closest('.item');
$(this).appendTo(prevbox);
});
console.log($('.item')[0].outerHTML)
.inner {
background-color: green
}
.link {
background-color: yellow
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">
<div class="inner">w
<a class="link">HELLO</a>
</div>
</div>
<div class="item">
<div class="inner">e
<a class="link">HELLO</a>
</div>
</div>
你想得到.closest('.item')
【解决方案2】:
.each 函数是不必要的,因为它会自动在元素的每个实例上执行它。
调用.prev 也是不必要的,除非您尝试仅对包含.link 的元素执行条件操作。
我相信这就是你想要的:
$(".item").append("<div class='link'>asdf</div>");