首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用jquery识别是否有子菜单

问使用jquery识别是否有子菜单
EN

Stack Overflow用户
提问于 2011-05-09 17:51:10
回答 2查看 810关注 0票数 2

我在html文件中有一个动态树形菜单。其结构是-

代码语言:javascript
复制
<ul id="cat_menu" class="cat_menu">
  <li><a href="#">iPods</a></li>
  <li><a href="#">iPads</a></li>
  <li><a href="#">iPhones</a>
     <ul>
       <li><a href="#">3GS</a></li>
       <li><a href="#">4G</a></li>
     </ul>
  </li>
</ul>

这是一个垂直的树菜单。菜单没问题。但我想显示一个小箭头,如果一个导航有潜航器。就像第三个。我想在"iPhones“导航中显示一个箭头。为此,我必须确定nav是否有潜艇。我试着用jquery-

代码语言:javascript
复制
$(document).ready(function(){
  $("ul#cat_menu li").each(function(){
    if($(this:has(ul))){
        $(this).css('background','red');//I will use code here for arrow.
    }
  })

});

但它不起作用。有什么帮助吗??提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-09 17:57:50

试试这个;

代码语言:javascript
复制
$("ul#cat_menu li").each(function(){
    if($('ul',this).length){
        $(this).css('background','red');//I will use code here for arrow.
    }
})
票数 1
EN

Stack Overflow用户

发布于 2011-05-09 18:01:11

您的整个实现可以替换为:

代码语言:javascript
复制
// nothing happens if there are no matches, no need for a condition
// or the `.each` since ul#cat_menu li's are implicitly iterated
$("ul#cat_menu li").find('ul > li').css("border", "1px solid red");

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5935209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档