jQuery insertAfter()无法按预期工作

时间:2019-02-20 02:17:57

标签: jquery insertafter

我正在尝试获取#filters及其所有内容,并将其插入以下结构中:

flush_interval

不幸的是,我无法按预期工作。它似乎无法“找到” .nav菜单并在之后插入它,尽管我能够在更高级别的元素之后插入它。

<div id = "top-level">

  <div id = "sub-level-1">
    <div class = "another-level">
      <div class = "last-level">
        <nav class = "nav-menu"></nav>
        <!-- insert #filters here -->
      </div>
    </div>
  </div>

  <aside>
    <div id = "filters"> 
      <div id = "filters-form">
        <div class = "more-contents"></div>
      </div>
    </div> 
  <aside>

</div>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我对其进行了重新设计并使其正常工作。请记住,我只是输入一些文本,以便可以轻松检查元素。

var filters = $("#filters");
filters.insertAfter(".nav-menu");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id = "top-level">
  <div id = "sub-level-1">
    <div class = "another-level">
      <div class = "last-level">
        <nav class = "nav-menu">bbb</nav>
        <!-- insert #filters here -->
      </div>
    </div>
  </div>
  <aside>
    <div id = "filters"> 
      <div id = "filters-form">
        <div class = "more-contents">aaa</div>
      </div>
    </div> 
  </aside>
</div>

我所做的一个编辑是,您旁边没有一个结束标签,只有两个开始标签,所以我解决了这个问题。