2012-02-20 68 views
1

我有超级菜单工作,现在我想得到所有那些h3标签,其中没有子女ul后。得到不带孩子的元素

这是li它有它

<li id="megamenu-mlid-370" class="megamenu-slot megamenu-slot-0 odd half-1 leaf-0 first first"> 
    <h3 class="megamenu-slot-title"><a href="/kcompute/" class="active">IT Management Solutions</a></h3> 
    <ul class="megamenu-items "> 
     <li id="megamenu-mlid-373" class="megamenu-item megamenu-item-0 odd half-1 leaf-0 first first"><a href="/kcompute/" class="active">Web Portal</a></li> 
     <li id="megamenu-mlid-374" class="megamenu-item megamenu-item-1 even half-1 leaf-1 "><a href="/kcompute/" class="active">Document Management</a></li> 
     <li id="megamenu-mlid-381" class="megamenu-item megamenu-item-2 odd half-1 leaf-2 "><a href="/kcompute/" class="active">Content Management </a></li> 
     <li id="megamenu-mlid-382" class="megamenu-item megamenu-item-3 even half-1 leaf-3 "><a href="/kcompute/" class="active">Knowledge Management</a></li> 
     <li id="megamenu-mlid-383" class="megamenu-item megamenu-item-4 odd half-1 leaf-4 "><a href="/kcompute/" class="active">Trading and Brokerage</a></li> 
     <li id="megamenu-mlid-384" class="megamenu-item megamenu-item-5 even half-2 leaf-5 "><a href="/kcompute/" class="active">Enterprise Resource Planning</a></li> 
     <li id="megamenu-mlid-385" class="megamenu-item megamenu-item-6 odd half-2 leaf-6 "><a href="/kcompute/" class="active">Simulator Development </a></li> 
     <li id="megamenu-mlid-386" class="megamenu-item megamenu-item-7 even half-2 leaf-7 "><a href="/kcompute/" class="active">Data Management</a></li> 
     <li id="megamenu-mlid-387" class="megamenu-item megamenu-item-8 odd half-2 leaf-8 last last"><a href="/kcompute/" class="active">Telecommunication</a></li> 
    </ul> 
</li> 

,现在孩子的HTML这是不生孩子ul

<li id="megamenu-mlid-419" class="megamenu-slot megamenu-slot-0 odd half-1 leaf-0 first first"> 
    <h3 class="megamenu-slot-title"><a href="/kcompute/" class="active">Jobs</a></h3> 
</li> 

在javascript中我有megaBins李的HTML函数返回所有ul

我想要一个jQuery函数dd类no-items其中没有孩子的。

问候

+0

你想生成HTML或过滤您的DOM的功能? – sinsedrix 2012-02-20 09:24:01

回答

2

试试这个:

$("ul.megamenu > li").each(function() { 
    if ($(this).find("ul").length == 0) { 
     $(this).addClass("no-items"); 
    } 
}); 

你很可能需要更改ul.megamenu选择,以配合您megadropdown的ul - 我只花了猜测是什么了。

+0

谢谢。你的代码为我工作。我错过了我的逻辑感谢您的时间。并感谢所有人。 此致 – 2012-02-20 10:33:03

0

您可以编写自定义jQuery函数为好。

jQuery.fn.checkChildren = function() { 
    var validChilds = 'li,h3' 
    $(this).each (function() { 
     if ($(this).find(validChilds).length == 0) { 
      $(this).addClass('no-items'); 
     } 
    }); 
} 

$(function() { 
    $('div#liWrapper').children('li').checkChildren(); 
}); 

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