2013-12-19 94 views
0

我試圖讓下拉選項的工作菜單。jQuery prepend不是子元素

我的任務:

我需要span元素添加到1級菜單項,與下面的腳本我也不幸添加span元素的下拉選項

菜單代碼結構:

<li class="menu-item-1"><a href="#">Item1</a> 
<li class="menu-item-2"><a href="#">Item2</a>  
<li class="menu-item-3"> 
    <a href="#">Item3</a> 
    <ul class="sub-menu dropdown"> 
    <li class="menu-item-4"><a href="#">Subitem1</a></li> 
    <li class="menu-item-4"><a href="#">Subitem1</a></li> 
    </ul> 
</li> 

我不妥當的jQuery解決方案

$('.menu-item-552 a:not(.dropdown)').prepend('<span class="span-1"></span>'); 
$('.menu-item-553 a:not(.dropdown)').prepend('<span class="span-2"></span>'); 
$('.menu-item-561 a:not(.dropdown)').prepend('<span class="span-3"></span>'); 
$('.menu-item-559 a:not(.dropdown)').prepend('<span class="span-4"></span>'); 

回答

2

目標只與所述類元素的子元素 - 使用子選擇,而不是後代選擇

$('.menu-item-552 > a').prepend('<span class="span-1"></span>'); 
+0

謝謝了很多,這完全適用於我! – xtomeek

1

您使用not來過濾.dropdowna元素儘管它實際上是一個類適用於ul

$('ul:not(.dropdown) .menu-item-552 a').prepend('<span class="span-1"></span>');