jquery,将元素移动到最近的div

时间:2016-12-27 19:47:14

标签: javascript jquery html

我想将一些span元素移到最近的div。我找到了我的问题的解决方案,但它对我不起作用。我有一些Html代码:



<ul>
  <li>
    <a><span>Some info</span></a>
  </li>
  <div class="cl1">...</div>

  <li>
    <a><span>Some info 2</span><a>
  </li>
  <div class="cl1">
     ...
  </div>
...
</ul>
&#13;
&#13;
&#13;

并像这样移动<span>

$('span').each(function () {
  $(this).parent().parent().closest('.cl1').append(this);
})

但没有发生任何事。任何帮助肯定会受到赞赏

1 个答案:

答案 0 :(得分:0)

  1. 您无法将div放入ul,只能放入li
  2. 您的HTML必须有效(aul需要关闭)
  3. 最近搜索anscetors,而不是兄弟姐妹。
  4. 由于你的标记无效,我不确定你是否想要列表中的div。此示例将它们从lis中删除,这会将列表分成两个列表。
  5. $('button').click(function() {
    
      $('span').each(function() {
        var $div = $(this).closest('ul').siblings('.cl1');
        $(this).clone().appendTo($div);
        $(this).remove();
      });
    
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul>
      <li>
        <a><span>Some info</span></a>
      </li>
    </ul>
    <div class="cl1">...</div>
    
    <ul>
      <li>
        <a><span>Some info 2</span></a>
      </li>
    </ul>
    <div class="cl1">...</div>
    
    <button>Do Stuff</button>