我试图建立导航。我想知道是否< li>有一个< ul>。 如果< li>有一个< ul>那么< ul>应该fadeIn else它应该打开链接。我已经在网上看了..无法找到解决我问题的完美解决方案。
这是我的标记:
<nav id="mobile-nav">
<ul>
<li><a href="#" title="Nav">Link</a>
<ul class="second">
<li><a href="#" title="Sub Nav">Link 2</a>
<ul>
<li><a href="#" title="Sub Nav 2">Link 3</a></li>
<li><a href="#" title="Sub Nav 2">Link 3</a></li>
</ul>
</li>
<li><a href="#" title="Sub Nav">Link 2</a></li>
<li><a href="#" title="Sub Nav">Link 2</a></li>
</ul>
</li>
<li><a href="#" title="Nav">Link</a></li>
<li><a href="#" title="Nav">Link</a></li>
<li><a href="#" title="Nav">Link</a></li>
</ul>
</nav>
jquery的:
$('#mobile-nav').on('click', 'a', function(){
if($(this).parent().has('ul')){
alert("has ul");
return false;
} else {
alert("no ul");
return false;
}
});
我测试了它,它总是给我&#34;有ul&#34;。
我也试过这个:
if($(this).closest('li').has('ul')){
alert("has ul");
return false;
} else {
alert("no ul");
return false;
}
感谢您的帮助
答案 0 :(得分:3)
答案 1 :(得分:2)
如果你想在bool上进行测试,那么你需要使用length
示例强>
if($(this).parent().has('ul').length){
}