链接 jquery 附加

cle*_*ruz 1 html javascript css jquery

我试图弄清楚如何将多个附加链接到我的标记中。基本上在附加一个元素之后,我希望下一个元素将其附加到第一个附加元素。我希望我说的有道理。

如果你看一下我的代码,我只是将元素附加<ul class="menu" />到元素中#footer .research-centers-menu .research

然后在下一个代码中我尝试将变量插入/附加centers<ul class="menu" />

现在的当前输出不会插入该元素,而是将其放置在外部。为我的英语不好和解释道歉

var researchCenters = $('a[href$="/items"]').next().clone(),
  centersList = $('li', researchCenters),
  centers = centersList.slice(0);


var research = $('#footer .research-centers-menu .research').append('<ul class="menu" />');

$(research).append(centers);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li>
    <a href="aim/items"></a>
    <ul>
      <li>item one</li>
      <li>item two</li>
    </ul>
  </li>
</ul>

<div id="footer">
  this is a footer
  <div class="research-centers-menu">
    <div class="research">

    </div>

  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

Ror*_*san 6

附加问题的原因是因为append()返回原始元素,而不是附加元素。

为了使您的代码正常工作,您可以反转逻辑,以便创建新的ul,然后使用appendTo(). 这将保留附加li. 尝试这个:

var researchCenters = $('a[href$="/items"]').next().clone(),
  centersList = $('li', researchCenters);

var $research = $('#footer .research-centers-menu .research');
var $ul = $('<ul class="menu" />').appendTo($research);
$ul.append(centersList);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<ul>
  <li>
    <a href="aim/items"></a>
    <ul>
      <li>item one</li>
      <li>item two</li>
    </ul>
  </li>
</ul>

<div id="footer">
  this is a footer
  <div class="research-centers-menu">
    <div class="research"></div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 这只是一个命名约定,表明该变量包含一个 jQuery 对象。 (2认同)