2011-06-03 39 views
1

我對jquery很新,我有什麼可能是一個非常簡單的問題。分配attr到頂級uls

我試圖在一個新網站上實現用於導航的彈出式菜單,並且由於CMS對我的限制,我無法將類添加到彈出功能將會彈出的<ul>應用。

例如:

更改此:

<div class="SideCategoryListClassic"> 
<ul **class="fancynav"**> 
    <li class=""><a href="http://blah.com/categories/product/">Product</a> 
     <ul> 
      <li class="LastChild"> 
       <a href="http://blah.com/categories/product/Accessories/">Accessories</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

<ul **class="fancynav"**> 
    <li class=""><a href="http://blah.com/categories/product/">Product</a> 
     <ul> 
      <li class="LastChild"> 
       <a href="http://blah.com/categories/product/Accessories/">Accessories</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

要這樣:

<div class="SideCategoryListClassic"> 
<ul> 
    <li class=""><a href="http://blah.com/categories/product/">Product</a> 
     <ul> 
      <li class="LastChild"> 
       <a href="http://blah.com/categories/product/Accessories/">Accessories</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

<ul> 
    <li class=""><a href="http://blah.com/categories/product/">Product</a> 
     <ul> 
      <li class="LastChild"> 
       <a href="http://blah.com/categories/product/Accessories/">Accessories</a> 
      </li> 
     </ul> 
    </li> 
</ul> 

再次,確保它的簡單,但我不知道如何只抓住那些頂級<ul>的,而沒有得到它們嵌套的那些。

回答

2
$(".SideCategoryListClassic > ul") 

這隻能得到ul S中的的.SideCategoryListClassic

+0

所以它會是$(「。SideCategoryListClassic> ul」)。addClass('fancyNav')? – erfling 2011-06-03 19:38:39

+0

是的,這應該工作。 – 2011-06-03 19:39:53

+0

謝謝。完美的作品。現在我知道在這種情況下的'>'運算符。並感謝您的解釋。 – erfling 2011-06-03 20:00:18

0

直接孩子我想你想要的是像下面這樣...

$(".SideCategoryListClassic").children("ul").addClass("myClass"); 

children("ul")位只會讓高層級別<ul>標籤

+0

沒有理由在這裏使用'each',只需用'addClass'調用替換'each'即可。 – 2011-06-03 19:38:55