【问题标题】: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>");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-10
        • 2012-01-12
        • 1970-01-01
        • 1970-01-01
        • 2011-06-08
        相关资源
        最近更新 更多