2014-10-12 28 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