排除div jQuery

时间:2013-07-21 22:08:45

标签: jquery

<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 。其他一切都很好。我做错了什么......

1 个答案:

答案 0 :(得分: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");