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

JS -单击<li> in菜单时添加类

在前端开发中,当我们需要实现一个菜单的交互效果时,常常会遇到需要在单击菜单项时添加类的需求。这样可以通过添加类来改变菜单项的样式,从而实现菜单的选中效果或者其他交互效果。

实现这个功能的方法有很多种,下面是一种常见的实现方式:

  1. 首先,我们需要获取到所有的菜单项。可以通过使用document.querySelector或document.querySelectorAll方法来获取到菜单项的DOM元素。
  2. 接下来,我们需要为每个菜单项添加一个点击事件监听器。可以使用addEventListener方法来为每个菜单项添加点击事件监听器。
  3. 在点击事件监听器中,我们可以通过this关键字来获取到当前被点击的菜单项。然后,我们可以使用classList属性来操作菜单项的类。
  4. 如果我们希望在点击菜单项时添加类,可以使用classList.add方法来添加类。例如,可以使用this.classList.add("active")来为被点击的菜单项添加一个名为"active"的类。

下面是一个示例代码:

代码语言:javascript
复制
// 获取所有的菜单项
var menuItems = document.querySelectorAll("li");

// 为每个菜单项添加点击事件监听器
menuItems.forEach(function(menuItem) {
  menuItem.addEventListener("click", function() {
    // 添加类
    this.classList.add("active");
  });
});

在这个示例中,我们使用了querySelectorAll方法来获取所有的菜单项,并使用forEach方法为每个菜单项添加了一个点击事件监听器。在点击事件监听器中,我们使用classList.add方法为被点击的菜单项添加了一个名为"active"的类。

这样,当用户单击菜单项时,被点击的菜单项就会添加一个名为"active"的类,从而改变其样式或实现其他交互效果。

推荐的腾讯云相关产品和产品介绍链接地址:

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

相关·内容

MyVBA加载宏——添加自定义菜单02——给按钮添加单击事件

在2003版本之前的Excel里使用过VBA的话,应该接触过在Excel里添加自定义菜单,使用方法和前面说的在VBE里添加菜单是类似的。...虽然现在已经有了Ribbon菜单,已经不大建议使用下拉式的菜单了,但是这个功能还是被保留了的,测试一下: Sub TestExcelCMDB() Dim cmdb As CommandBarControl...Application.CommandBars("Worksheet Menu Bar").Controls.Add(msoControlPopup, Temporary:=True) cmdb.Caption = "测试Excel下拉菜单...至于为什么,我也不知道原因,后来在网上查了相关资料后,都是要使用一个模块进行转换,创建1个模块,命名CCommandBar: Public WithEvents cmdbe As VBIDE.CommandBarEvents...CCommandBar Set cbar.cmdbe = Application.VBE.Events.CommandBarEvents(btn) End Sub 运行后再点击按钮,能够响应单击事件

2.7K20

伸缩侧边栏

效果图: 展开 收起 实现原理: 展开:单击图标或空白展开主菜单栏,单击图标额外展开子菜单栏 收起:单击空白收起主菜单栏和所有子菜单栏 通过js改变元素的,并在样式表中定义不同类的样式,实现样式的改变...主菜单为.long,width:25rem,为.short,width:7.5rem 子菜单为.hide,height:0,为.show,heigth由js根据子元素数量计算 源代码.../*单击空白*/ /*菜单动画*/ function list(){ /*获取主菜单和所有子菜单*/ let out_ul = document.getElementById('list...('list'); /*子菜单收起单击展开主菜单和该子菜单*/ if (in_ul.className === "hide in_ul"){ in_ul.className...in_ul"; in_ul.style.height = ll * 4 + 'rem'; out_ul.className = 'long'; } /*子菜单展开

24510

Jump Start Bootstrap 第4章

我们将会看到如何添加下拉菜单到导航栏、切换按钮的状态、当点击按钮漂亮的警告信息会在显示一段时间后消失等等功能。...这个ul元素应该有”dropdown-menu”。现在,我们有了一个简单的下拉菜单,在单击链接显示菜单。我们可以在浏览器中查看它,如图所示。 ?...Bootstrap为下拉插件提供了一些附加事件,它们是: show.bs.dropdown: 这个事件在句柄被单击触发;下拉句柄收到请求去显示隐藏菜单; shown.bs.dropdown: 这个事件在菜单被显示触发...添加一个褪色(淡入淡出)的效果: 给每个tab-pane添加fade,在选项卡切换时会有淡入淡出效果。...添加data-dismiss使按钮在单击关闭模式对话框。 对于本体,我们需要一个包含modal-body的元素。您可以将几乎任何内容放到该元素中。

28.3K40

js遍历添加栏目添加css,再点击其它删除css

很多网页设计都可能会用到js遍历去增加css类别,这篇文章主要介绍了js遍历添加栏目添加cs, 再点击其它删除css的实例代码,非常不错,具有一定的参考借鉴借鉴价值,原作者是谁已无从知晓,但是代码是有效的...具体代码如下: //js遍历添加栏目添加css 再点击其它删除css $(".radio-group .ckselect").each(function(index) {   $(this).click...removeClass("selected");     $(".ckselect").eq(index).addClass("selected")   }) }); 还有一种更优的方案,代码如下: //js...allhide")) {     $(".peoples").hide();     $(".peoples").removeClass("allhide")   } }); 以上所述就是给大家介绍的js...遍历添加栏目添加css,再点击其它删除css的教程,希望对大家有所帮助,如果大家有任何疑问请给我留言!

3.7K20

Bootstrap源码分析之dropdown

原理: 1、利用dropdown作为定位点,然后让子级的列表dropdown-menu绝对定位实现,还需要加一个单击点作为设置data-toggle=”dropdown”才能做关联。...3、Js插件写的Plugin函数,和的构造函数是用于js方式调用插件; 4、而data-*模式调用插件,用到是向document注入事件实现的,代码如下: $(document) .on('click.bs.dropdown.data-api...5、如果用Js插件调用,基础方法都要自己调用才行,在创建实例只会绑定toggle事件。...8、keydown:当dropdown按钮获取焦点的时候,按下键可以展开,按上键收缩的功能 9、data-target和herf=”#id”:是为了实现单击,展开指定的下拉列表,默认是展开与按钮后面兄弟节点..." > 关于我们 10、实现向上弹出子菜单,用bottom:100%(弹出子菜单bottom的定位)实现 11、应用示例

2.9K70

Fabric.js 右键菜单

本文主要关注 Fabric.js 的主要 api 有: fireRightClick:允许右键点击 stopContextMenu:禁用默认右键菜单 mouse:down:鼠标点击事件 如果不知道 Fabric.js...案例代码放了在文末~ 环境和版本 Chrome浏览器版本:96.0.4664.45 Fabric.js版本:4.6.0 思路 先说说需求: 右键单击元素,弹出菜单; 弹出菜单分4种情况(菜单在鼠标右侧...,菜单在鼠标左侧,菜单在鼠标上方,菜单在鼠标下方); 左键单击画布其他地方,隐藏菜单; 实现思路: 创建画布; 创建 “菜单” 的DOM元素; 去官网查找 “右键相关事件”; 右键单击在元素上,根据鼠标离画布边缘的距离...,计算菜单要显示的位置; 左键单击在画布上,隐藏菜单; 实现 查文档 在上面的思路中,其实难点只有 “右键相关事件” 。.../div> 什么都不做 什么都不做 <div class="menu-<em>li</em>

7K10

JavaScript入门

层级选择器中如果一个一个标签,那么会执行覆盖,按照书写顺序 同级,标签选择器的权重 < 选择器 < id的权重 继承性的权重是最低的,只要自己有样式就执行自己的,没有才继承。...import(提权功能,慎用) 3.ps软件前端使用方法 1看颜色 单击色块工具---目标单击----复制粘贴颜色值 用十六进制的颜色值,复制过去记得前面加一个#号 2看文字样式 T 单击目标文字...设置按钮绑定单击事件:获取左侧用户输入的数据,显示到右侧; 下拉菜单选中不同的选项,更换不同的风格(css) // 按钮 var oSetcard = document.getElementById...2、 数据显示 – 获取表单控件的value – 拼字符串 – 设置显示区域的内容是这个字符串 3、 换右侧区域的风格 – 分析出if – 条件:看下拉菜单选中了哪一项(下拉菜单的vlaue == 0...设置按钮绑定单击事件:获取左侧用户输入的数据,显示到右侧; 下拉菜单选中不同的选项,更换不同的风格(css) // 按钮 var oSetcard = document.getElementById

3.2K20

:empty伪代替js,实现为空的提示

在显示数据列表,我们通常还会写个判断,如果数据数据为空,显示类似“无数据”的提示给用户 下面分享一个,不用去写js判断,直接css实现为空的信息提示。...使用方法就是利用:empty伪 :empty 伪用来匹配空标签元素,例如: .cs-empty:empty{ width: 120px...; padding: 20px; border: 10px dashed; } 此时,div 元素就会匹配:empty伪,呈现出虚线框 利用:before的特性,便能实现数据为空的信息提示...'; display: block; line-height: 300px; text-align: center; color: gray; } 哈哈,发现有好一些用js...操作的方法,都可以使用css来实现,大家在代码过程中,多思考一下,是否Css能代替js,从而提高性能,不过,也要注意Css的兼容性问题

1.5K20

巧用CSS3 :target 伪制作Dropdown下拉菜单(无JS

:target 是CSS3 中新增的一个伪,用以匹配当前页面的URI中某个标志符的目标元素(比如说当前页面URL下添加#comment就会定位到id=“comment”的位置,俗称锚)。...先上效果图 正如标题所说,本文是教你如何巧用CSS3 :target 伪制作Dropdown下拉菜单,原生HTML+CSS,无JavaScript。为了吸引各位往下看,先上实际例子,再进行剖析。...> 大体上上面的HTML代码可以分为两部分,一部分是一个出发下拉动作的入口(我习惯称为“开关”)——通常是一个button...可能你会问close 这个修饰的a标签那段是做什么的?...当你触发下拉菜单后,有时候需要做关闭(返回原状)的动作,而从具体情况(比如说如本实例触发菜单菜单将原来的开关都掩盖了)或者用户体验上考虑,最好是除菜单区域外的整个屏幕都随便盲点就能关闭菜单

3.9K80

jQuery基础

需求说明: 使用hover()实现鼠标指针移动至菜单,显示二级菜单,移出后隐藏 使用toggleClass()实现鼠标指针移动至菜单,背景颜色变为橙色,移出后,背景颜色变为之前颜色 关键代码:...slow速度显示,离开,以slow速度隐藏 单击常见问题分类下的一级菜单,使用slideDown()方法实现二级菜单以slow速度显示,当再次单击一级菜单,使用slideUp()方法已slow速度隐藏...,单击“购物特权”二级菜单在显示和隐藏之间切换,当鼠标移动至二级菜单,子菜单添加背景色 关键代码: $(".firstNav").click...this).toggleClass("onbg"); }) 简答题6 当点击底部箭头,隐藏菜单项的后四项,并且底部箭头向上,再次单击底部箭头,显示隐藏的菜单项,并且底部箭头向下...用作隐藏界面的样式 * .in 用作显示界面的样式 * 请在下面空白处编写对应的JS代码; * */ var f = ""; // 标识变量,用于判断用户点击的是新增还是修改 // 新增弹窗

7.2K10

实现Bootstrap导航鼠标悬停下拉菜单及下拉主菜单可点击效果

Bootstrap是一个非常不错的前端框架,但是在实际的使用过程中还需要根据实际的需要再微调整,比如我们默认使用Bootstrap框架下拉菜单的时候主导航是无法点击打开页面的,以及下拉展开需要单击菜单...,如果我们需要实现主菜单可以点击打开,而且下拉菜单实现悬停下拉的效果则需要进行调整JS脚本。...第一、实现悬停下拉菜单效果 1、修改bootstrap.js文件 2、添加脚本 $(document).ready(function(){ dropdownOpen(); }); function dropdownOpen...}).mouseout(function() { $(this).removeClass('open'); }); } 添加脚本替换后可以实现鼠标悬停菜单下拉效果。...第二、实现主导航可点击打开 $(document).ready(function(){ $(document).off('click.bs.dropdown.data-api'); }); 添加脚本到bootstrap.js

3.6K60
领券