2013-07-21 62 views
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鍵式遞減。其他一切正常。我在做錯事...排除div的jQuery的

回答

0

當你選擇#menu-item-43元素時,它已經有了div.menu-button-desc作爲一個子元素。你想要做的是克隆整個節點,深入到你想要的元素,去掉(),然後.end()返回到你的克隆元素,而沒有「問題的孩子」。

你也有一些時髦的事情發生w/combine .find和另一個頂級選擇器($()),我認爲你的選擇器字符串大多沒有做任何事情。你不希望選擇器擁有所有的邏輯,它只是一個開始點,然後遍歷和操作。這是我最好的猜測你要去什麼:

spec.find(".sub-menu li").clone() 
    .find(".menu-button-desc").remove() 
    .end().prependTo("#sub-menu ul"); 
+0

此代碼是在 - if(){},我需要$(this)從點擊選擇器。如果我沒有找到任何其他方式,我會留在這裏,你的替代方式工作得很好。謝謝 ! – user2587741