2014-10-12 29 views
1

我的問題是,在第一個結果中,第一個ul標籤具有主菜單類(),但在第二個結果中,類由腳本中定義的子類替換。javascript - set first ul class

我希望腳本只爲從「dashed」li轉換而來的ul標記設置子類,並且不會影響先前擁有主菜單類的第一個ul標記。我期待這樣的結果:

回答

1

要調整您的代碼,您可以在創建新的<ul>時檢查level。如果level爲零利用原班現有<ul>,如果沒有設置類來"child"

/* store initial main class */ 
var mainClass=$('#main-navigation .widget ul:first').attr('class'); 

$('#main-navigation .widget li').each(function() { 

    ......./* code removed for clarity */ 

     if (level > dd_level) { 
      var ulClass = level === 0 ? mainClass : 'child'; 
      dd_html += '<ul class="' + ulClass + '">'; 
     } 

    ....../* code removed for clarity */ 

}) 

DEMO

+0

我們可以添加任何類'li'有一個'ul'作爲兒童?例如我忘了在我的問題中提出這個問題 – 2014-10-13 13:19:54

+0

使用':has'選擇器和addClass()的簡單方法 – charlietfl 2014-10-13 14:08:05