首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于类显示隐藏的li

基于类显示隐藏的li
EN

Stack Overflow用户
提问于 2010-05-18 01:28:39
回答 4查看 1.3K关注 0票数 3

我的名单结构如下:

代码语言:javascript
运行
复制
<ul>
    <li>One</li>
    <li>Two
        <ul>
             <li class="active">Two-1</li>
             <li>Two-2</li>
        </ul>
    </li>
    <li>Three
        <ul>
            <li>Three-1</li>
        </ul>
    </li>
</ul>

使用以下CSS:

代码语言:javascript
运行
复制
ul li ul{
    display:none;
}
ul li:hover ul{
    display:block;
}

我想要的是:当安莉类处于活动状态时,整个结构就会下降,直到活动类被显示出来。

因此,在本案中,除最高级别外,还将显示以下内容:

  • One
  • Two
    • Two-1
    • Two-2

  • Three

如果可能的话,我想要一个CSS或jQuery实现(或者两者的混合)。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-18 01:41:03

当页面加载如下所示时,您可以使用.parents():has()显示active的父级:

代码语言:javascript
运行
复制
$(function() {
  $('.active').parents().show();​​​​​​​​​
  //or..
  $(':has(.active)').show();​​​​​​​​​
});

这两种方法中的任何一种都有一定程度的深度,但是第一种方法的速度要快一些。

票数 4
EN

Stack Overflow用户

发布于 2010-05-18 01:39:07

从问题的措辞方式上不确定,但这行jQuery不就是您所需要的吗?

代码语言:javascript
运行
复制
​$('.active').parent().show().parent().parent().show();​​​​​​​​​
票数 1
EN

Stack Overflow用户

发布于 2010-05-18 01:39:53

您可以为此使用:has()选择器:

代码语言:javascript
运行
复制
$("ul:has(li.active)").show();

此选择器查找具有带有类<ul>的子代<li>的任何active元素。

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

https://stackoverflow.com/questions/2854061

复制
相关文章

相似问题

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