在 CSS 中选择子级的父级

2023-11-29

通过下面的代码,我希望能够将 CSS 样式应用于父级li class="parent"列表中的项目。但仅当用户将鼠标悬停在孩子上方时li class="child"该特定父母的物品。

据我了解,仅使用 CSS 是不可能的,但是有人知道潜在的 Javascript 解决方案(最好使用 jQuery,因为我们已经在我们的网站上使用这个库)

Thanks!

<ul>
    <li class="parent"><a href="URL" >Main Link</a>
         <ul class="sub-menu">
             <li class="child"><a href="URL" >Link</a></li>
         </ul>
    </li>
</ul>

你没听错——CSS 不允许你在 DOM 树上向上遍历,只能向下遍历。例如,您可以选择孩子,但不能选择父母。

这是使用 jQuery 实现此目的的一种方法:

$("li.child").on("hover", function(){
    $(this)
        .closest("li.parent")
        .css({
            // styling here
        });
});

我们要做的就是选择li元素与类child。我们绑定hover向其发送事件并在该事件发生时触发函数。该函数找到孩子最近的父母li与班级parent,然后我们更改它的 CSS。

More on on() here, closest() here, and css() here.

另请记住,对于早期版本的 jQuery,您可以使用bind() or delegate().

EDIT:让它在鼠标悬停时发生变化and鼠标移出:

$("li.child").on("mouseover mouseout", function(){
    $(this)
        .closest("li.parent")
        .toggleClass("myClass");
});

你在这里所做的就是定义类myClass在你的 CSS 中。toggleClass如果元素上尚不存在该类,则添加该类,否则将其删除。这是不言自明的。这样,您可以节省一些字节并使用更首选和推荐的 jQuery。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 CSS 中选择子级的父级 的相关文章

  • 使用 JavaScript 填写 PDF 表单

    这就是我所拥有的 用户填写很长的 html 表单 用户获取下载不同 pdf 的链接 这是可填写的表格 链接是使用 javascript 生成的 用户单击链接 生成 url 使用用户之前提交的数据 在表单中处理数据并完成字段 这是在表单内使用
  • 是否可以使用纯 css 禁用 mat-tab 动画

    我想禁用 Angular Material mat tab 动画 内容滑入到位时发生的动画 我知道可以使用 disabled 属性 但我想知道是否可以使用纯 css 达到相同的效果 EDIT 我们的用户体验团队希望从材质选项卡中删除幻灯片动
  • 在 Bootstrap 3 中将容器类嵌套在容器流体类中?

    除了填充问题之外 为什么不建议将 container 嵌套在 container fluid 中 如果将子容器填充归零 如下面我的代码所示 则效果与拥有一个容器相同 此外 如今 不同的全宽和固定宽度布局似乎很常见 我知道文档说了什么 LIN
  • AttachEvent 或 addEventListener - 存储在哪里?

    在 jQuery 中 如果我这样做 a click function Do something 点击事件存储在 a data events 我可以像这样获取它 jQuery each a data events function i eve
  • 如何用css3和html5制作不规则形状的div?

    我想知道是否有可能构建具有不规则形状的 div 类似于此 例如格陵兰岛 欧洲 非洲 我想使用 CSS3 和 HTML5 创建像这里这样的地图 以下是示例图像的链接 你所拥有的看起来像一个网格 你可以通过一个 div 上的许多渐变来获得它 也
  • 如何使页面上的所有内容变大?

    如果我在浏览器中打开我的网站并按Ctrl 有几次 一切都变得更大 网站对我来说看起来更好 我可以通过在 HTML 代码中添加一些内容来实现相同的效果吗 以便用户默认看到更大的所有内容 而无需按Ctrl 我想让所有东西都变大 文本和图像 如果
  • 将箭头添加到 Twitter Bootstrap 的下拉药丸中?

    我的 Twitter 引导下拉按钮成功工作 但我有一个小问题 这里的黑色导航栏 http twitter github com bootstrap javascript html dropdowns http twitter github
  • 盒子大小是否可在电子邮件模板中使用

    我正在创建电子邮件模板 我发现了这个CSS 支持指南 https www campaignmonitor com css but box sizing不在那儿 我想知道是否支持该 CSS 属性 如果支持 哪些电子邮件客户端支持它 不 不支持
  • 表单提交不起作用

    我有一张桌子 可以打印出所有可用的相机 它使用表单来更改这些设置 问题在于该表单仅更新条目中的最后一个摄像机 换句话说 如果我更改表单并为列表中的最后一个摄像机点击 应用 它将起作用 如果我更改此列表中任何其他摄像机的表单 它会将其更改为与
  • IE8 底部:0 在位置:绝对的行为类似于位置:固定

    我有一个 DIV 必须始终位于页面的底部 左侧 类似于页脚菜单 div bottom menu position absolute z index 1 left 0 bottom 0 width 90 我的页面定义了最小高度 当用户将其缩小
  • Backbone Marionette,复合视图初始化两次

    我正在使用一个复合视图 它的 el 上调用了 dialog 然后 复合视图列出集合中的项目 现在我尝试了多种方法来渲染集合项 在将其附加到视图之前和之后从复合视图外部获取 在视图内部获取 从我的服务器脚本预加载集合等 一切似乎都有效 但出现
  • 使图像宽度为父 div 的 100%,但不大于其自身宽度

    我试图让图像 动态放置 对尺寸没有限制 与其父 div 一样宽 但前提是该宽度不比 100 时其自身宽度宽 我已经尝试过这个 但没有成功 img width 100 height auto max width 100 其中许多图像比它们的父
  • JQuery _renderItem 没有被调用

    我正在尝试使用 renderItem 函数创建自定义 ui menu item 元素 但经过可能尝试后 我什至无法调用该函数 自动完成功能正在工作 但就像 renderItem 函数不存在一样 这是我的脚本部分
  • 用于选择 querySelector 中当前元素的 CSS 伪选择器可用于同级 (+) 或一般同级 (~) 选择器? [复制]

    这个问题在这里已经有答案了 如果我有这个 HTML div class elem div class child div div div class sibling div 和JS let elem document querySelect
  • 如何使用 jQuery 获取数组键?

    下午好 我有一个数组 其中包含一些键和值 然后我需要获取数组键而不是其中的数据 我想用 jQuery 来做到这一点 例如 我知道 PHP 有一个名为 array keys 的函数 它将数组作为参数 并返回一个数组 其中包含每个索引中的每个键
  • 自动调整元素 (div) 大小以适合水平内容

    我尝试谷歌搜索 但没有得到太多结果 我正在构建一个水平轮播 它在浮动的 LI 中显示图像 我想解决的问题是 每次我向轮播添加缩略图 我是延迟加载 时 我都需要重新计算轮播的宽度 以便所有浮动缩略图很好地并排排列 其一 我宁愿不必在 JS 中
  • html输入数字,min + step,使step忽略min?

    是否有可能使step忽略min属性
  • 识别http链接并创建锚标记

    我正在尝试解析一些字符串 它嵌入了一些 http 链接 我想使用 jquery 在此字符串中动态创建锚标记 然后将它们显示在前端 以便用户可以单击它们 有没有办法做到这一点 Thanks 你可以这样做 function get the st
  • 如何将外部 div 的高度设置为始终等于特定内部 div 的高度?

    我有一个外部 div 其中包含三个内部 div 我希望最左边的内部 div 始终确定外部 div 的高度 如果其他内部 div 的内容 比最左边的 div 少 它们将有空白空间 如果他们有更多的内容 比最左边的div 他们将得到一个滚动条
  • Ie11 不应用媒体查询样式

    IE11 忽略我的媒体查询并始终使用移动 CSS 奇怪的是 如果我改变浏览器宽度 即使只是 1 2 像素 浏览器也会自行渲染并显示媒体查询 我尝试了 css lint 我的 css 中没有错误 我的CSS没有什么特别的 只是简单的 css

随机推荐

  • 使用 pyuic 将 .ui 转换为 .py?

    我正在使用 OSX 10 8 python 2 7 5 我刚刚使用 QtDesigner 构建了一个 GUI 并试图弄清楚如何在 Python 中使用它 我发现我必须使用 pyuic 以及如何在此处执行此操作 pyqt在mac osx雪豹中
  • asp.net通过kerberos将Windows身份验证集成到sql服务器

    请问有人可以提供一种简单 直接的方法来启用 ASP NET gt Kerberos gt Sql Server 吗 我们有客户端机器 gt 网络服务器 gt 数据库服务器 客户端坚持要求站点必须拉取 Windows 登录名而不是提示 因此需
  • Java 中的强制可克隆接口

    我在 Java 中遇到了一个小问题 我有一个名为 可修改 的界面 实现此接口的对象是可修改的 我还有一个 ModifyCommand 类 具有命令模式 它接收两个可修改对象 以进一步在列表中交换它们 这不是我的问题 我已经设计了该解决方案
  • 如何使用 FormData API 发出 POST 请求

    我想使用 http post 将用户名和 form data 对象传递到 php 文件 当我只传递 form data 时 它可以上传我的图片 但我还想传递一些其他信息 例如用户名 请帮助我如何在 http post 中传递其他数据 这是我
  • Mongoose 仅​​选择在架构中明确声明的字段

    当使用 Mongoose 并查询数据库时 默认情况下会选择所有字段 并且我必须明确告诉 Mongoose 我不想选择哪些字段 例如 如果我不想要该字段user我应该做 var schema new Schema insertedAt typ
  • 从 GridView 项目中获取值

    我正在开发一个项目 其中有一个 5x5 的 TextView 网格 我想检查整行或整列是否具有相同的元素 我正在使用 Adapter 类来仅用一个 textview 元素来扩充我的 gridview 这是我尝试过的代码 但我似乎无法使其工作
  • Android 2.2 联系人生日日期

    我正在尝试从 android 2 2 的联系方式获取生日日期 有人可以帮我查询一下吗 这是我的代码 Override public void onCreate Bundle savedInstanceState super onCreate
  • socket.io 和不同的文件夹 --- 找到解决方案

    我是 socket io 的新手 我已经遇到了一个问题 我认为是小问题 我已经使用 npm 正确安装了 node js 和 socket io 然后为了测试 我从 socket io 剪切并粘贴了一个代码示例 一切正常 现在 我想构建我的代
  • PHP:imagepng 正在创建异常大的文件

    我正在使用我编写的一个简单的缩略图脚本 它非常标准 imgbuffer imagecreatetruecolor thumbwidth thumbheight switch type case 1 image imagecreatefrom
  • PHP PDO 扩展无法在 IIS 上运行

    我有一个使用 autoload 加载类的脚本 愚蠢 我知道 这是我用来娱乐 测试的旧代码 它似乎正在尝试自动加载 PDO 这让我相信它没有找到应有的 PDO 类 我已经检查了 php ini 和 php pdo dll 是否已启用 以及 p
  • 在 Android 上旋转 YUV 字节数组

    我正在寻找旋转从 Preview Callblack 收到的 YUV 帧预览 到目前为止 我已经创建了这篇文章 其中包含一种旋转帧预览的算法 但弄乱了预览图像相机像素旋转 旋转图像的另一种方法是从 YUV 图像创建 jpg 创建位图 旋转位
  • 生成一系列值之间的随机双精度值

    我目前无法生成 32 768 和 32 768 之间的随机数 它一直给我相同的值 但小数字段有微小的变化 例如 27 xxx 这是我的代码 任何帮助将不胜感激 include
  • 如果前一个参数为空,则参数没有默认值?

    我有这个查询 除非我尝试在参数中传递空值 否则它似乎可以工作 using OleDbCommand com new OleDbCommand INSERT INTO GROUP Group Number Group Name Address
  • 文件输入“接受”属性 - 有用吗?

    在html下实现文件上传相当简单 但我只是注意到有一个 accept 属性可以添加到
  • 以编程方式禁用键盘和鼠标

    有没有办法禁用键盘和鼠标 Ideally I m looking for a solution whereby I could completely disable mouse and almost disable the keyboard
  • xsltproc 不按名称选择元素

    我正在尝试使用 XSLT 样式表转换 XHTML 但我什至无法获得基本样式表来匹配任何内容 我确信我错过了一些简单的事情 这是我的 XHTML 源文档 没什么大惊喜
  • 我是否错误地实现了 IntoIterator 以引用 LazyList 实现,或者这是一个 Rust bug?

    在实现 LazyList 的一个版本 一个不可变的延迟计算的记忆单链表 就像 Haskell 列表 时 我遇到了实现的问题IntoIterator因为当我认为应该删除引用时 代码不会删除引用 以下代码已被简化 只是为了显示问题 因此 它不是
  • 在 C# 中形成参数化 SQL 语句的正确方法是什么

    客观的 使用 C 和 SQL2008 正确设置参数化 SQL Insert 语句 Issue 以下语句在 for 循环中使用 因此必须清除这些值 运行此代码后 它指出在 250 附近存在语法错误 代码如下 for int i 0 i lt
  • Spring Kafka - 手动确认

    我有一个 spring boot 应用程序 它监听 Kafka 流并将记录发送到某个服务以进行进一步处理 该服务有时可能会失败 注释中提到了异常情况 目前 我已经自己模拟了服务成功和异常的场景 监听器代码 Autowired PlanitS
  • 在 CSS 中选择子级的父级

    通过下面的代码 我希望能够将 CSS 样式应用于父级li class parent 列表中的项目 但仅当用户将鼠标悬停在孩子上方时li class child 该特定父母的物品 据我了解 仅使用 CSS 是不可能的 但是有人知道潜在的 Ja