0
<li id="menu-item-43" class="menu-item menu-item-type-custom menu-item-object-custom">
    <a href="#">
    <cufon class="cufon cufon-canvas" alt="JEDEN" style="width: 33px; height: 12px;">
    <div class="menu-button-desc" style="padding-left: 3.80049px;"></div>
    </a>
</li>

spec.find($(".sub-menu li:not(:contains('pic-sub'), :contains('title-sub'), div.menu-button-desc)")).clone().prependTo("#sub-menu ul");

我需要排除div.menu-button-desc。其他一切正常。我做错了什么...

4

1 回答 1

0

当您选择 #menu-item-43 元素时,它已经将 div.menu-button-desc 作为子元素。你想要做的是克隆整个节点,深入到你想要消失的元素, .remove() 它,然后 .end() 回到没有“问题子节点”的克隆元素。

结合 .find 和另一个顶级选择器 ($()),您还会发生一些时髦的事情,我认为您的选择器字符串几乎没有做任何事情。您不希望选择器具有所有逻辑,它只是随后遍历和操作的起点。这是我对您要做什么的最佳猜测:

spec.find(".sub-menu li").clone()
  .find(".menu-button-desc").remove()
  .end().prependTo("#sub-menu ul");
于 2013-07-21T22:15:57.420 回答