2015-10-23 35 views
0

下面是我的菜單追加格設置動態李如果類不存在

<li class="dropdown active list-unstyled clearfix"> 
     <a target="_self" href="/marine-offshore/en/worldwide/sustainability/"><span>Sustainability</span></a> 
     <div class="dropdown-menu second-nav-subList fivecol-nav col-lg-12 col-md-12 col-sm-12 col-xs-12"><div class="nav-promotions col-lg-4 col-md-4 col-sm-12 hidden-xs"></div></div> 
    </li> 
    <li class="dropdown active list-unstyled clearfix"> 
     <a target="_self" href="/marine-offshore/en/worldwide/sustainability/"><span>Sustainability</span></a> 

    </li> 

在第一LI上面的代碼UL李格式有div class="dropdown-menu"。但對於第二個LI我沒有div class="dropdown-menu"來追加div我已經使用下面的代碼,但它的追加到li

if(!$('.mainnavigation li.dropdown').hasClass('dropdown-menu')) { 
     $('.mainnavigation .dropdown').append("<div class='dropdown-menu second-nav-subList fivecol-nav col-lg-12 col-md-12 col-sm-12 col-xs-12'><div class='nav-promotions col-lg-4 col-md-4 col-sm-12 hidden-xs'></div></div>"); 
} 

請幫我出到div追加只單獨第二li。在此先感謝

回答

1

以jQuery方式訪問第二個元素。

if(!$('.mainnavigation li.dropdown').eq(1).hasClass('dropdown-menu')) { 
     $('.mainnavigation .dropdown').eq(1).append("<div class='dropdown-menu second-nav-subList fivecol-nav col-lg-12 col-md-12 col-sm-12 col-xs-12'><div class='nav-promotions col-lg-4 col-md-4 col-sm-12 hidden-xs'></div></div>"); 
} 
+0

是eq值可以是動態的而不是指定爲1或2 – saminathan

+0

當然,只需使用變量的數字。 :) 像'var myIndex = 3',然後使用'.eq(myIndex)'然後你 –

+0

然後你可以在飛行中計算myIndex。像這樣: 'myIndex = $('。mainnavigation li.dropdown')。length - 1;' –

0

您可以直接訪問第二個元素,如:

運用EQ()函數。

$('.mainnavigation .dropdown').eq(1).append("<div class='dropdown-menu second-nav-subList fivecol-nav col-lg-12 col-md-12 col-sm-12 col-xs-12'><div class='nav-promotions col-lg-4 col-md-4 col-sm-12 hidden-xs'></div></div>"); 
+0

但在將來可以加入李的數量。我們必須檢查班級是否在那裏,然後我們必須追加。 – saminathan

+0

也使用eq功能檢查條件 –

0

你需要這樣做:

if($('.mainnavigation li.dropdown .dropdown-menu').length === 0) { 
    $('.mainnavigation .dropdown').append("<div class='dropdown-menu second-nav-subList fivecol-nav col-lg-12 col-md-12 col-sm-12 col-xs-12'><div class='nav-promotions col-lg-4 col-md-4 col-sm-12 hidden-xs'></div></div>"); 
} 

它會檢查是否.mainnavigation li.dropdown有任何元素像.dropdown-menu如果length0(意味着沒有元素)才把它添加。

2

在您的JavaScript測試中,您正在測試LI元素是否具有類「下拉菜單」。

您可以測試你想與此代碼的div存在:

$('.mainnavigation li.dropdown').each(function(){ 
    if($(this).children('.dropdown-menu').length == 0){ 
$(this).append("<div class='dropdown-menu second-nav-subList fivecol-nav col-lg-12 col-md-12 col-sm-12 col-xs-12'><div class='nav-promotions col-lg-4 col-md-4 col-sm-12 hidden-xs'></div></div>"); 
} 
}); 

演示:http://jsfiddle.net/gxnnwy3r/

+0

謝謝Emmanuel..works好:) – saminathan