2011-07-19 66 views
3

我有簡單的無序列表菜單。下面的代碼是也可以從jsFiddle抓住它:使用jQuery自動添加箭頭到所有父菜單

<ul> 
    <li><a href="#">First</a></li> 
    <li><a href="#">Second</a> 
     <ul> 
      <li><a href="#">Second - 1</a></li> 
      <li><a href="#">Second - 2</a></li> 
      <li><a href="#">Second - 3</a> 
       <ul> 
        <li><a href="#">Aaa</a></li> 
        <li><a href="#">Bbb</a></li> 
        <li><a href="#">Ccc</a></li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
    <li><a href="#">Third</a></li> 
</ul> 

我想使用jQuery這個標記<span class="arrow"></span>添加到含子菜單,所有父菜單上的所有菜單。在這種情況下,該代碼應該剛過第二添加 - 2菜單鏈接,像這樣:

<ul> 
    <li><a href="#">First</a></li> 
    <li><a href="#">Second</a><span class="arrow"></span> 
     <ul> 
      <li><a href="#">Second - 1</a></li> 
      <li><a href="#">Second - 2</a></li> 
      <li><a href="#">Second - 3</a><span class="arrow"></span> 
       <ul>........... 

任何建議什麼是實現這一目標的最簡單的方法?

謝謝!

回答

4
$('li > ul').before('<span class="arrow"></span>'); 
+0

http://jsfiddle.net/Paulpro/zdDZu/ – Paulpro

+1

我沒想到的解決方案將是這個短。我喜歡你的大腦如何連線。感謝PaulPRO! – Klikerko

2
$('li').has('ul').children('a').append('<span class="arrow"></span>'); 
+0

嗨克里斯托弗,你的代碼效果很好,但我選擇了一個稍微短一點的代碼。謝謝! – Klikerko