首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何通过JS更改悬停时直接相邻兄弟元素的CSS?

通过JS更改悬停时直接相邻兄弟元素的CSS可以使用以下步骤:

  1. 首先,使用JavaScript获取到需要更改CSS的元素。可以使用document.getElementById()document.getElementsByClassName()document.querySelector()等方法来获取元素。
  2. 使用事件监听器(例如addEventListener())来监听鼠标悬停事件。当鼠标悬停在目标元素上时,触发相应的事件处理函数。
  3. 在事件处理函数中,使用JavaScript选择器(例如nextElementSiblingpreviousElementSibling等)获取到需要更改CSS的相邻兄弟元素。
  4. 使用JavaScript修改相邻兄弟元素的CSS属性。可以使用元素的style属性来直接修改CSS属性,例如element.style.property = value

以下是一个示例代码:

代码语言:txt
复制
// 获取目标元素
var targetElement = document.getElementById('target');

// 监听鼠标悬停事件
targetElement.addEventListener('mouseover', function() {
  // 获取相邻兄弟元素
  var siblingElement = targetElement.nextElementSibling;

  // 修改相邻兄弟元素的CSS属性
  siblingElement.style.color = 'red';
  siblingElement.style.backgroundColor = 'yellow';
});

targetElement.addEventListener('mouseout', function() {
  // 获取相邻兄弟元素
  var siblingElement = targetElement.nextElementSibling;

  // 恢复相邻兄弟元素的原始CSS属性
  siblingElement.style.color = '';
  siblingElement.style.backgroundColor = '';
});

在上述示例中,当鼠标悬停在targetElement上时,会将其相邻兄弟元素的文字颜色修改为红色,背景颜色修改为黄色。当鼠标移出targetElement时,相邻兄弟元素的CSS属性会恢复到原始状态。

请注意,以上示例中的targetElement是一个示例元素的ID,你需要根据实际情况修改为你的HTML代码中的目标元素。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

:has 语法,终于可以用了

以下是一些可能示例: 在应用某些页面上,你可能想要更改 body 元素全局字体大小或背景颜色。在引入 :has 伪类之前,我们通常需要通过后端根据页面类型切换某些 HTML 类。...例如,要选择具有 hr 元素作为直接元素 div 元素,可以使用选择器 div:has(>hr)。 我们可以使用 相邻兄弟组合器 + 来选择紧跟在另一个元素后面的元素。...与其他伪类组合 当在子元素悬停,改变容器样式听起来相当酷,不是吗? 我们可以将 has 与 hover 结合使用来实现这一点。...例如,如果我们希望在容器中任何链接悬停,都给链接元素添加边框,可以使用以下代码: .container:has(a:hover) { border: 2px solid pink; } 浏览器支持...结论 :has 伪类是 CSS 选择器工具中一个强大补充。它允许你根据元素内容选择元素,从而简化了许多情况,使你代码更易于维护。通过使用组合器,你可以进一步细化选择并实现更高级效果。

22420

有关网页渲染,每个前端开发者都该知道那点事

这些改变通常由以下事件触发: DOM操作(元素添加、删除、修改或者元素顺序改变); 内容变化,包括表单域内文本改变; CSS属性计算或改变; 添加或删除样式表; 更改“类”属性; 浏览器窗口操作...html,css,js,output)) 有时,你必须触发一个强制性重排。比如,我们必须将同样属性(比如左边距)两次赋值给同一个元素。起初,它应该设置为100px,且不带动效。...我们需要是强制性重排,我们可以通过以下更改加以实现: ? 现在代码如预期那样执行了。...以下是CSS选择器性能排名(从最快者开始): 识别器:#id 类:.class 标签:div 相邻兄弟选择器:a+i 父类选择器:ul>li 通用选择器:* 属性选择:input[type="text...在使用滚动禁用复杂悬停动效(比如,在中添加一个额外悬停类)。读者可以阅读关于这个问题[一篇文章](http://habrahabr.ru/post/204238/)。

1.3K80
  • butterfly文章页面上下篇按钮UI调整

    编写了手机端悬停卡片样式 点击查看参考教程 参考方向 教程原贴 参考了事件监听动作语法 addEventListener 监听dom元素是否在屏幕内示例 JS判断指定dom元素是否在屏幕内方法实例...思路分析 我试图通过将文章底部按钮改至左右两侧,类似翻页键,同时添加悬停动作,通过css兄弟相邻元素hover监测来控制显隐,悬停按钮在页面正中显示对应文章卡片。...首先要解决是按钮显示问题,如果是常显,有可能遮盖正文内容,尤其是手机端应该不会有足够位置。所以尝试通过设置滚动事件监听,在页面滚动至原本上下页翻页位置,也就是正文刚好读完时候,才显示按钮。...毕竟butterfly目前上下篇很贴心提供了封面,标题这两个元素。...STYLUS 新建 [Blogroot]\themes\butterfly\source\js\fixed-pagination.js, 这个 js 作用就是提供滚动监测了,这里因为翻页按钮是常态隐藏

    1.7K20

    CSS选择器分类

    上一节练习题:写两个各10条数据列表,第一个列表字体是16px,第二个列字体大小是20px。实现方法很多,但是根据现有知识写出来代码会很多,所以今天我们通过学习css选择器来简化你代码。...组合类选择器 css有四种不同组合器: 后代选择器(空格) 子选择器(>) 相邻兄弟选择器(+) 通用兄弟选择器(~) 实例:内容 后代选择器:div p{ font-size...:16px } 子选择器:div > p{ font-size:16px } 相邻兄弟选择器:div + p{ font-size:16px } 通用兄弟选择器:div ~ p{ font-size:16px...a:hover 鼠标悬停在链接上 a:link 未访问链接 a:visited 已访问链接 a:active 已选择链接 div:hover { }鼠标悬停在div元素上,也可以控制鼠标悬停元素元素...,如: div:hover p{ font-size:20px } 鼠标停在div上,子元素p中文字变为20像素。

    95620

    CSS选择器分类

    上一节练习题:写两个各10条数据列表,第一个列表字体是16px,第二个列字体大小是20px。实现方法很多,但是根据现有知识写出来代码会很多,所以今天我们通过学习css选择器来简化你代码。...组合类选择器 css有四种不同组合器: 后代选择器(空格) 子选择器(>) 相邻兄弟选择器(+) 通用兄弟选择器(~) 实例:内容 后代选择器:div p{ font-size...:16px } 子选择器:div > p{ font-size:16px } 相邻兄弟选择器:div + p{ font-size:16px } 通用兄弟选择器:div ~ p{ font-size:16px...a:hover 鼠标悬停在链接上 a:link 未访问链接 a:visited 已访问链接 a:active 已选择链接 div:hover { }鼠标悬停在div元素上,也可以控制鼠标悬停元素元素...,如: div:hover p{ font-size:20px } 鼠标停在div上,子元素p中文字变为20像素。

    1.3K50

    CSS快速入门(一)

    比如,您可以使用CSS更改内容字体、颜色、大小、间距,将内容分为多列,或者添加动画及其他装饰效果; 通俗理解为:CSS就是为了给HTML标签修改样式; 语法结构 语法结构: 选择器 {...参数,那么p标签自己设定参数生效; 不同选择器不遵循就近原则>>>:优先级 行内选择器 > id选择器 > 类选择器 > 标签选择器 基本选择器 标签选择器 通过标签名直接查找 /*查找所有的div...属性选择器通过已经存在属性名或属性值匹配元素; 语法 [attr] 表示带有以 attr 命名属性元素。...例如,:hover 可被用于在用户将鼠标悬停在按钮上改变按钮颜色。...> p 子代选择器 相邻兄弟选择器 h1 + p 相邻兄弟 通用兄弟选择器 h1 ~ p 通用兄弟 网站分享 组件 | Element Bootstrap [转载网站](CSS选择器

    94020

    【魅力网页背后】:CSS基础魔法,从零打造视觉盛宴

    代码量不多,且和当前页面联系紧密不需要复用时使用 外部样式表 完全实现结构与样式分离,可重复利用 如果代码量较少情况下,引入法更麻烦 最多,推荐 css代码量大,或者需要重复利用时使用 如何写 /*...元素选择器(Element Selector): 直接通过元素名称来选择元素,如 p 会选择所有段落元素。...相邻兄弟选择器(Adjacent Sibling Selector): 使用+符号,选择紧接在另一元素元素,如 p + ul 会选择所有紧接在段落后面的无序列表。...伪类选择器(Pseudo-class Selector): 用来选择元素特定状态,如 a:hover 选择鼠标悬停在链接上状态。...important > 行内 > id > class > 标签 > 通配符|兄弟|相邻兄弟|子代 > 继承 先比较级别,级别一样比较各级别选择器出现次数 当两个选择器权重一样,以最后出现为准 基础知识介绍

    13510

    (你也不想那个啥也不懂测试嘲笑你吧)H5开发过程中那些不要碰CSS选择器

    替代方法:使用实际HTML元素来代替伪元素,并通过JavaScript控制这些元素动态内容。 4. :focus 和 :active 这些伪类选择器用于选择获得焦点元素或在用户点击激活元素。...:hover 尽管:hover在桌面浏览器中非常有用,用于改变鼠标悬停元素样式,但在触摸设备上,特别是在WebView环境中,:hover可能会导致不可预测行为。...在某些WebView环境中,这些选择器行为可能与预期不一致,尤其是在动态更改元素状态。 替代方法:使用JavaScript根据元素状态动态添加或移除类名,然后用这些类名来应用样式。.... >, +, ~ (子代、相邻兄弟、一般兄弟选择器) 虽然这些组合选择器提供了强大方式来根据DOM结构关系选择元素,但在一些性能受限WebView中,它们可能导致性能问题。...替代方法:尽可能使用更简单选择器,并通过给目标元素直接添加类或ID来避免复杂DOM查询。

    14510

    【Java 进阶篇】CSS 选择器详解

    CSS选择器是一种模式,用于选择HTML文档中一个或多个元素,并为这些元素应用样式。选择器基于元素标签名称、类、ID、属性等特征来选择元素通过选择器,你可以精确地定义哪些元素将受到样式影响。...例如,要选择所有 元素直接元素 并将它们文本颜色设置为橙色,可以使用以下样式: ul > li { color: orange; } 3.3 相邻兄弟选择器 相邻兄弟选择器...(+)允许你选择与另一个元素相邻元素。...5.2 :hover 伪类选择器 :hover 伪类选择器用于选择鼠标悬停元素状态。...例如,要选择鼠标悬停在按钮元素,并将其背景颜色设置为浅灰色,可以使用以下样式: button:hover { background-color: lightgray; } 5.3 :nth-child

    26020

    简单聊一聊如何使用CSS父类Has选择器

    最近:has()选择器允许您对父元素和其他祖先应用样式,本文将向您展示如何在Web应用程序开发中使用它。 在CSS世界中,选择器是驱动我们在网页上看到美丽且响应式设计工作马。...这样我们就可以扩展选择器范围,包括一个或多个兄弟或子元素。 在本文中,我们将讨论CSS选择器以及它们在代码中多个使用示例。...导航菜单示例 这将引导我们进入我们项目的下一部分,它看起来是这样: 在这里,我们将鼠标移到位置上,您可以看到当我们将鼠标悬停在位置上,我们拥有的不同位置。...当我们不悬停在位置和员工上,您会注意到根本没有任何下拉菜单指示。如果我们为此使用修饰类,我们将不得不手动进入HTML文件并编写代码。然而,我们可以通过 :has 伪类来实现这一点。...通过利用 :has 选择器,网页开发人员可以提高他们CSS代码效率和灵活性,简化选择过程,减少不必要类和嵌套结构需求。

    92640

    CSS 1.0~3.0选择器(上)

    星号选择器将匹配页面里每一个元素。很多开发者使用这个技巧将外边距和内边距重置为零。虽然在快速测试这确实很好用,但建议永远不要使用它,它会给浏览器带来大量不必要负担。...最初伪类选择器只能应用于a标签,从IE7之后,其他浏览器也支持其他标签伪类效果了。可以把伪类理解为一种标签状态。如,a:hover表示就是当鼠标悬停在a标签上效果。...选择符#h5course > p将只选择id为h5course元素直接子代p。它不匹配更深层p元素。...兼容性 IE7+、Firefox、Chrome、Safari、Opera 兄弟选择器 基本语法 X ~ Y ul ~ div { color: red; } HTML5学堂一些提醒: 与相邻选择符(ul...+ div)仅选择前一个选择符后面的第一个元素比起来,兄弟选择符更宽泛。

    84150

    CSS中鼠标滑过图片放大效果

    刚刚看了下感觉还不错,纯CSS实现,虽然在开发主题CSS3用比较少。...CSS3中鼠标滑过图片突出放大效果 悬停展开项目 我们下一步是让项目在悬停展开。...我们可以通过设置元素宽度动画来实现这一点,但这会影响文档流动,并导致悬停同级项收缩–另外,设置宽度属性动画在某些情况下会降低性能。...CSS3中鼠标滑过图片突出放大效果 向外移动兄弟元素悬停兄弟项远离悬停项是整个过程中很棘手部分。我们可以使用一个CSS特性是一般兄弟组合器。这使我们可以选择位于悬停项之后所有同级项。...CSS3中鼠标滑过图片突出放大效果 向外移动兄弟元素 此时悬停效果看起来更加圆滑,不再那么生硬。需要注意一点是:此最终版本正在使用:focus和:focus-within伪类来支持键盘导航。

    8.3K10

    4月7日 星期四 晴 论技术负债

    最近我学到了不少新玩意儿(虽然对很多大佬来说这些已经是旧技术了),比如CSS兄弟相邻选择器例如 h1 + p {margin-top:50px;},flex布局Flex 是 Flexible Box...一般矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动支点,线段像可伸缩皮筋写法,还有今天刚看到clip-pathclip-path属性使用裁剪方式创建元素可显示区域。...但其实我最初打算就是把注释标签写成气泡那样,刚刚好显示在被注释元素右下角。 那如果我换成兄弟相邻选择器的话呢,悬停卡片和显示描述就完全可以分开来写布局了。方便程度和美观程度完全不可同日而语。...,而如果我用clip-path属性直接裁剪边框,那我只需要注意调整margin和padding属性就可以保证自适应美观了。...还有flex布局,我也是在写首页卡片魔改时候才知道可以通过order重新编排子元素排列位置。以前我可是傻乎乎用left、top、bottom、right等定位硬生生把各个布局强行扭过来

    50110

    CSS(初级)笔记

    可以通过下面这个公式将像素转换为em:px/16=em 链接样式 a:link - 正常,未访问过链接 a:visited - 用户已访问过链接 a:hover - 当用户鼠标放在链接上 a:active...选择了元素中所有直接元素: div>p { background-color:yellow; } 相邻兄弟选择器 相邻兄弟选择器(Adjacent sibling selector...紧接在另一个元素元素,而且二者有相同元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。...以下实例选取了所有位于 元素第一个 元素: div+p { background-color:yellow; } 后续兄弟选择器 后续兄弟选择器选取所有指定元素之后相邻兄弟元素...以下实例选取了所有 元素之后所有相邻兄弟元素 : div~p { background-color:yellow; } div~*:匹配全部

    1.1K30

    CSS元素选择器及其优先算法

    CSS 选择器 这一块可以说是很基础了,只有用选择器选中元素,才能使样式生效 元素选择器(标签选择器) 直接选中原生 html 标签名,该选择器可以说是优先级最低了,在没有其它类型选择器才会考虑它...,用逗号隔开 #great, .great-class, div{ width: 100px; height: 50px; } 相邻选择器 选中相邻兄弟元素 <div id="one...:hover 鼠标<em>悬停</em> :focus 获得鼠标焦点 div:first-child { font-size: 17px; } div:hover { color: green; } 结构性伪类...:nth-child(n) 父<em>元素</em>下第 n 个子<em>元素</em> 选择器优先级算法 众多类型<em>的</em>选择器方式,还可以组合使用,那么<em>如何</em>区分呢 优先级由 A,B,C,D 四个值确定,计算规则如下 存在内联样式...,(A,B,C,D),按照从左往右<em>的</em>顺序依次比较,较大者<em>直接</em>胜出,相等继续比较下一位,如四个值都相等,后面的样式覆盖前面的

    87320

    如何遍历DOM

    在本教程中,我们回顾一些HTML术语,这对使用 JS 和DOM非常重要,我们会介绍一下DOM树,节点,以及如何识别最常见节点类型。最后,创建一个 JS 程序来交互式地修改DOM。...href属性来更改链接地址: navLink.href = 'https://github.com/qq449245884/xiaozhi'; 我们还可以通过textContent属性来更改文本内容:...://github.com/qq449245884/xiaozhi">跳转取前端小智 Github 到这里,我们应该了解如何使用document 方法访问元素如何元素分配给变量以及如何修改元素属性和值... html元素节点是父节点。head和body是兄弟节点,它们是 html 子节点。body包含三个子节点,它们都是兄弟节点,节点类型不会改变其嵌套级别。...当用户将鼠标悬停在一个元素上,或单击一个元素,或按下键盘上一个特定键,这些都是事件类型。在这个特殊例子中,我们希望我们按钮侦听并准备在用户单击它执行操作。

    9K30

    InstantClick,让你网站快到起飞,PJAX技术

    如果您网站可以处理额外负载,选择 在鼠标悬停预加载方式。 如果你网站不能,选择在鼠标点击瞬间预加载方式。您网站速度仍然会超过99%网站。...然后直接用在鼠标悬停预加载,分别看你服务器是否能够承受额外负担。 如果服务器端分析很重要,你只能使用在鼠标点击瞬间预加载,使用任何其他方式都会带来误差。...它回调可以接受一个可选isInitialLoad参数,它是一个布尔值,当它是初始页面更改或当InstantClick不被支持为true,而当InstantClick更改页面为false。...您可以通过查看Turbolinks兼容性站点上示例(在CoffeeScript中)了解如何解决兼容性问题。...例如,以下是如何使Google Analytics(网站统计与分析)(2013年末代码)正常工作:

    3.7K20
    领券