我有超级菜单工作,现在我希望获得所有那些没有子h3
的{{1}}标签。
这是带有孩子的ul
的html
li
现在这是没有孩子的{li}的html <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>
ul
在javascript中我有<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>
函数,它返回所有megaBins
的
我想要一个jQuery函数来添加一个没有孩子的类ul
。
此致
答案 0 :(得分:2)
试试这个:
$("ul.megamenu > li").each(function() {
if ($(this).find("ul").length == 0) {
$(this).addClass("no-items");
}
});
您很可能需要更改ul.megamenu
选择器以匹配您的兆字节下降的ul
- 我只是猜测它是什么。
答案 1 :(得分:1)
尝试:将选择器与not结合使用。 http://api.jquery.com/has-selector/
$("#megamenu > li").not("#megamenu > li:has(> ul)").addClass("no-items");
这是一个jsFiddle http://jsfiddle.net/NSr7S/7/
答案 2 :(得分: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();
});