Jquery 分配';主动';只给孩子上课
我有一个基于bootstrap的Jquery 分配';主动';只给孩子上课,jquery,css,twitter-bootstrap,Jquery,Css,Twitter Bootstrap,我有一个基于bootstrap的导航树,其中当前页面路径中的每个都被赋予“active”类。因此,如果我在主页下方两层的页面上,代码大致如下: <ul> <li>Link1</li> <li>Link2</li> <li class='active'>Link3 <ul> <li>sublink1</li> <li class=active
- 导航树,其中当前页面路径中的每个
- 都被赋予“active”类。因此,如果我在主页下方两层的页面上,代码大致如下:
这: JSFiddle:<ul> <li>Link1</li> <li>Link2</li> <li class='active'>Link3 <ul> <li>sublink1</li> <li class=active>sublink2 <ul> <li>subsublink1</li> <li class=active>subsublink2 THIS IS MY PAGE</li> </ul> </li> </ul> </li>
还是我没听懂你的意思?这是: JSFiddle:
或者我不明白你说的对吗?With:last u获取DOM中的最后一个元素。因此,您可以使用li.active获取父对象并删除边框
请查看以下示例: 或者,您可以用removeClass('active')替换.css('border','none')$('li.active:last').parents('li.active').css('border', 'none');
向您致意:last u获取DOM中的最后一个元素。因此,您可以使用li.active获取父对象并删除边框
请查看以下示例: 或者,您可以用removeClass('active')替换.css('border','none')$('li.active:last').parents('li.active').css('border', 'none');
致以最诚挚的问候查找包含另一个元素的所有
元素并删除边框:li.active
$('li.active:has(.active)').css({ border : 'none' });
li.active.hasSubmenu {border:none}
查找包含另一个元素的所有
元素并删除边框:li.active
$('li.active:has(.active)').css({ border : 'none' });
li.active.hasSubmenu {border:none}
我假设
只能将li
作为其子级,并且只有ul
将具有li
类,对于这些假设,这是有效的:.active
$('li.active').filter( function () { if ( $(this).children('ul').length === 0 ) return true; return false; }).parents('li').removeClass('active');
我假设
只能将li
作为其子级,并且只有ul
将具有li
类,对于这些假设,这是有效的:.active
$('li.active').filter( function () { if ( $(this).children('ul').length === 0 ) return true; return false; }).parents('li').removeClass('active');
找到了一种稍微不同的实现方法:
显然,如果我的li包含ul,它不可能是最深的li 因此,现在我可以使用纯css来消除边界:$('li.active').has('ul').addClass('hasSubmenu');
$('li.active:has(.active)').css({ border : 'none' });
li.active.hasSubmenu {border:none}
找到了一种稍微不同的实现方法:
显然,如果我的li包含ul,它不可能是最深的li 因此,现在我可以使用纯css来消除边界:$('li.active').has('ul').addClass('hasSubmenu');
$('li.active:has(.active)').css({ border : 'none' });
li.active.hasSubmenu {border:none}
正在深入查看吗?如果您指的是孔的深度DOM:是。查看jquery页面:是last
最后一个
在深度查看吗?如果您是指孔的深度,DOM:yes。看看jquery页面:很好,非常简单+我给你1分你赢了,非常elegant@Heraldmonkey当然,您可以用
替换.addClass('hasSubMenu')
,并使用css去除边框,正如您在评论中所建议的,非常简单+我给你1分你赢了,非常elegant@Heraldmonkey当然,你可以用.css(…)
替换.addClass('hasSubMenu')
,并使用css去除边框,正如你在评论中所建议的,这正是@pawel发布的内容,友善地接受他的回答这是行不通的,因为它可能有ul,但ul可能没有一个活跃的liit@Pete你是对的,但在我的特殊情况下,只显示活动子ULs,所以它会工作。这正是@pawel发布的内容,友善地接受他的回答这是行不通的,因为它可能有ul,但ul可能没有一个活跃的liit@Pete你是对的,但在我的具体案例中,只显示活动的sub ULs,所以它会工作。这确实完成了工作,但我使用了pawel,因为它更简洁。谢谢。这确实完成了任务,但我使用了pawel,因为它更简洁。谢谢.css(…)