将多个 div 附加到新位置(使用 .prev)

Append multiple divs to new location (using .prev)

基本上我需要移动 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);
  });

$(".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')

.each 函数是不必要的,因为它会在元素的每个实例上自动执行它。

调用 .prev 也是不必要的,除非你试图只对包含 .link.

的元素做一个有条件的事情

我相信这就是你想要的:

$(".item").append("<div class='link'>asdf</div>");