如何在单击时向按钮添加类

2024-01-02

很抱歉提出了愚蠢的问题,但我无法在单击时向按钮添加类。我有按钮列表,单击后我需要更改活动按钮的背景。我不知道如何在单击列表内部并添加类时获取元素的索引。我需要用纯 JavaScript 来实现。只需要离开$(document).ready(function()。这是我的小提琴https://jsfiddle.net/armkarma/ns5tfcL0/15/ https://jsfiddle.net/armakarma/ns5tfcL0/15/

HTML

<div class="content-itinerary__buttons-wrapper">
    <button class="content-itinerary__buttons description-text ">Day 2</button>
    <button class="content-itinerary__buttons description-text">Day 3</button>
    <button class="content-itinerary__buttons description-text">Day 4</button>
</div> 

JS

$(document).ready(function() {
let myBtns=document.querySelector('.content-itinerary__buttons-wrapper')

  myBtns.addEventListener('click', ()=>{
    console.log('test')
  }) 
});

只需要离开$(document).ready(function()

我不知道当你有等效的 JavaScript (DOMContentLoaded https://developer.mozilla.org/en-US/docs/Web/API/Document/DOMContentLoaded_event).

循环遍历所有按钮,在事件处理函数内首先删除class从所有按钮然后添加class仅针对单击的按钮:

document.addEventListener('DOMContentLoaded', () => {

    let myBtns=document.querySelectorAll('.content-itinerary__buttons');
    myBtns.forEach(function(btn) {

        btn.addEventListener('click', () => {
          myBtns.forEach(b => b.classList.remove('active'));
          btn.classList.add('active');
        });
 
    });

});
.active {
    color: #fff;
    background-color: #4CAF50;
}
<div class="content-itinerary__buttons-wrapper">

  <button class="content-itinerary__buttons description-text ">Day 2</button>
  <button class="content-itinerary__buttons description-text">Day 3</button>
  <button class="content-itinerary__buttons description-text">Day 4</button>

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

如何在单击时向按钮添加类 的相关文章

  • 如何将OpenLayers多边形坐标转换为纬度和经度?

    我正在使用开放层 https openlayers org en latest examples draw freehand html绘制多边形并保存坐标的技术 这是我的代码 var raster new ol layer Tile sou
  • JavaScript/jQuery - “$ 未定义 - $function()”错误

    我正在尝试运行 JavaScript jQuery 函数并且Firebug http en wikipedia org wiki Firebug 28software 29得到错误 is not defined function JavaS
  • 将屏幕宽度获取到 javascript 变量中并通过 ajax 将其发送到 php 页面以避免页面加载

    这是JS检测我的页面命名上的屏幕分辨率index html并将其发送到 php 以便可以使用以下方式检索值 GET 这是我的PHP文件命名的内容process php
  • 使用 Overflow:auto 获取 div 的高度;

    我有一个 div 高度 100px 和溢出 auto 内容是动态的 我想滚动底部的div 我尝试过 chat content scrollTop chat content height 但如果内容大于 100px chat content
  • Jquery 子元素发生变化

    我正在尝试使用 jquery 在子元素 在本例中为 select 更改时触发事件 这是我的 HTML div class row addForm div class col lg 2 col md 2 col sm 3 col xs 6 d
  • Firefox 上的 jquery 焦点未设置

    我想将焦点设置到我的文本区域 以下是我的代码 this textInput val show focus 但它不起作用 实际上 当我按下鼠标按钮时 它会出现 但是当我松开鼠标时 它会从文本区域中删除 因此 经过大量搜索后 我发现 setTi
  • GWT - css 中常量的问题

    我是 GWT 新手 我正在构建一个小型示例应用程序 我有几个 CSS 文件 我能够成功使用 ClientBundle 和 CssResource 将样式分配给 UiBinder 脚本中定义的元素 现在我想更进一步 使用 def css ru
  • 如何处理 setTimeout() 的多个实例?

    阻止创建 setTimeout 函数的多个实例 在 JavaScript 中 的最推荐 最佳方法是什么 一个例子 伪代码 function mouseClick moveDiv div 0001 mouseX mouseY function
  • Intern JS - 如何在链式 Command 方法中使用 Promise.all()?

    我是用 Intern JS 编写测试的新手 并且一直在遵循他们的文档来使用对象接口 https theintern github io intern interface object and 页面对象 https theintern git
  • Jquery Ajax 调用返回 403 状态

    我有一个 jquery Ajax 调用来实现会话的 keepalive 这个 keepAlive 方法将每 20 分钟调用一次 function keepAlive ajax type POST url KeepAliveDummy asp
  • IE9 中的无效字符 DOM 异常

    以下这段 JS 曾经在 IE8 中工作 现在在 IE9 中失败 document createElement 我收到以下异常 SCRIPT5022 DOM 异常 INVALID CHARACTER ERR 5 上面这段代码是不是不符合标准呢
  • 电子邮件模板中的剪贴板功能

    我想在电子邮件模板中发送优惠券代码 一个小按钮 用于复制剪贴板上输入元素的内容 通过电子邮件模板 我的意思是我想发送一封电子邮件 其中包含优惠券代码 并且电子邮件模板中会有一个按钮 允许我将其复制到剪贴板 这可以做到吗 任何帮助将不胜感激
  • 如何使 4.X Typescript 项目与旧版本的 Typescript(如 3.X)兼容?

    如何使基于 TS 4 X 构建的软件包与 3 X 兼容 例如 如果我有较新的版本 则使用新功能 否则使用any or unknown或旧版本支持的任何内容 有没有可能使用指令 https www typescriptlang org doc
  • 从函数在 python 3 中创建全局变量

    我想知道为什么在函数结束后我无法访问变量 variable for raw data 代码是这样的 def htmlfrom Website URL import urllib request response urllib request
  • 除非打开开发人员工具,否则 IE8 Javascript 无法运行?

    由于某种原因 在 IE8 中 除非我在打开开发工具的情况下重新加载页面 否则 javascript 不会运行 我关闭开发人员工具并重新加载页面 然后 javascript 停止工作 我没有收到任何错误报告 无论如何它们也没有任何用处 还有其
  • 在选择 tr 来覆盖父 div 上的第 n 个子类时,如何使用 jquery addClass ?

    我用它来选择一个 tr 当单击它来更改 tr 的颜色时 tr click function this addClass selected siblings removeClass selected 参见小提琴http jsfiddle ne
  • 检测 html 选择框上的编程更改

    有没有办法让 HTML 选择元素在每次以编程方式更改其选择时调用函数 当使用 JavaScript 修改选择框中的当前选择时 IE 和 FF 都不会触发 onchange 此外 更改选择的 js 函数是框架的一部分 因此我无法更改它以在结束
  • CSS3动画比例[重复]

    这个问题在这里已经有答案了 我正在尝试对 div 进行动画处理 以便在页面加载时它具有比例 0 0 并动画到比例 1 1 我遇到的问题是 一旦动画生效 div 就会再次缩放到 0 我想要的是 div 动画缩放 1 1 并保持这样 这是我的
  • 使用 javascript 从亚马逊 URL 中抓取 ASIN

    假设我有一个像这样的亚马逊产品 URL http www amazon com Kindle Wireless Reading Display Generation dp B0015T963C ref amb link 86123711 2
  • 加载谷歌地图控件时是否有事件?

    我知道tilesloaded 但控件似乎在该事件之后加载 我基本上希望能够通过 jQuery 获取控件 但甚至找不到正确的监听 我也刚刚处理了 没有类似的事件 在控件可见之前空闲和tilesloaded触发 因此 基本上将 特殊控制 类添加

随机推荐

  • 将 float 指定为字典键会改变其精度 (Python)

    我有一个浮点数列表 实际上它是一个 pandas Series 对象 如果它改变了任何东西 如下所示 mySeries 22 16 0 23 14 0 24 12 0 25 10 0 26 3 1 因此该系列的元素位于右侧 索引位于左侧 然
  • 对于失败的验证或无效的重复项,我应该使用哪个状态代码?

    我正在使用基于 REST 的 API 构建一个应用程序 并且已经为每个请求指定状态代码 对于验证失败的请求或尝试在数据库中添加重复项的请求 我应该发送什么状态代码 我已经看过了http www w3 org Protocols rfc261
  • 如何让 Scala BigDecimal 显示大量数字?

    执行以下操作 val num BigDecimal 1 0 val den BigDecimal 3 0 println num den MathContext DECIMAL128 我只得到 0 333333333333333333333
  • 当尝试 String#upcase Ruby 时,一无所知......

    我刚刚安装了 RVM 正在阅读 The Well Grounded Rubyist 一书 在第一章中我应该尝试ri String upcase查看有关 upcase 方法的文档 但是我收到一条消息 关于 String upcase 一无所知
  • 如何在 googlemock 中创建部分(混合)模拟?

    谷歌建议将调用委托给父对象 https github com google googletest blob master googlemock docs CookBook md delegating calls to a real obje
  • 为什么我从 Membership.GetCurrentUserName 收到 NullReferenceException?

    我刚刚转而使用 msbuild 来预编译我的网站 现在我收到了这个奇怪的错误 我调用了 Membership GetUser 它抛出 NullReferenceException Object reference not set to an
  • 如何在VueJs中动态添加属性

    我正在使用 vuejs 我想知道如何控制输入 必要时添加禁用属性 有没有办法在vuejs中动态添加属性 下面我的文本字段组件
  • 安排 Amazon Elastic MapReduce 作业的工具/方法

    我使用 EMR 创建新实例并处理作业 然后关闭实例 我的要求是定期安排工作 一种简单的实施方式是使用石英来触发 EMR 作业 但从长远来看 我对使用开箱即用的 MapReduce 调度解决方案感兴趣 我的问题是 EMR 或 AWS SDK
  • 如何使用 Kotlin 在 Android Studio 中的 RecyclerView 上添加 Onclick 监听器?

    所以我想要一个onclicklistener for my RecyclerView在 Android 中 但我不知道该怎么做 我有一个CustomAdapterClass for my Workoutlist看起来像这样 class Cu
  • href 与脚本化页面转换和按钮突出显示

    我正在与 knockout js 一起构建许多 jQuery Mobile SPA 总体上取得了巨大的成功 我确实注意到这主要是一个外观问题 现在希望能解决它 通过链接的锚标记href产生一个漂亮的按钮突出显示 默认主题为蓝色 在页面转换期
  • plist本地化问题

    我的 plist 有一个奇怪的问题 我正在使用 xcode 4 每当我尝试将本地化放在这个 plist 上时 我都无法编辑它 我的意思是 当我编辑和更改 plist 中的值时 应用程序仍然采用旧值 即使我删除它 我仍然加载了旧的 plist
  • SQL Server 2012 - “可重复读”隔离级别如何工作?

    我觉得我应该知道这一点 但我找不到任何具体概述这一点的内容 所以就这样吧 The 文档 https msdn microsoft com en us library ms173763 aspx对于 SQL Server 将 REPEATAB
  • 在 Java 中创建动态二维矩阵

    我想要一个动态矩阵 行数和列数未知 通过单击按钮填充它 但还有更多 我不想添加整行 而只是一次添加一个单元格 单击一下 添加一个单元格 当然不是随机的 第一行的第一个单元格 第一行的第二个单元格 然后第二行的相同单元格 依此类推 我了解 U
  • 为每个项目执行 npm install 会占用太多驱动器空间

    有没有什么方法可以将 npm install 路由到硬盘驱动器的特定部分 当我执行 npm install 时 它会在驱动器的该部分中创建 node module 文件夹 当我运行任何项目时 它会在驱动器的该部分中查找依赖项 就像单身一样p
  • UIWebView 获取 HTML 源

    我正在尝试获取 UIWebView 的 HTML 源代码 而无需再次重新下载 也称为进行另一次下载 例如 NSData dataWithContentsOfURL NSURL URL 或启动 NSURLRequest 浏览 UIWebVie
  • 在生产环境中部署 Sql Server Reporting Services 报告

    如何在生产盒上部署 Sql 服务器报告 在本地这不是问题 我只需指定 url 然后右键单击项目并说部署 将其部署在我的本地服务器上 但生产服务器却并非如此 我建议您创建可以在生产服务器上执行的 rs 脚本 查看 Reporting Serv
  • 如何在 WordPress 页面中创建不同的可编辑部分?

    我一直在 WordPress 上构建我的第一个主题 但在将内容添加到不同部分时遇到了问题 我的 HTML 有点像这样 div lt Text gt div div lt Text and Images gt div div lt Text
  • 哪些 GTK+ 元素支持哪些 CSS 属性?

    在将我自己的 CSS 应用到 GTK 应用程序时 我注意到某些元素忽略某些 CSS 属性 而其他元素则忽略其他元素或不忽略它们 这导致我搜索哪些元素支持哪些 CSS 属性的概述 到目前为止我找不到任何这样的概述 例如Gtk Label不支持
  • 用于公开通用接口的非通用版本的模式

    假设我有以下用于公开分页列表的界面 public interface IPagedList
  • 如何在单击时向按钮添加类

    很抱歉提出了愚蠢的问题 但我无法在单击时向按钮添加类 我有按钮列表 单击后我需要更改活动按钮的背景 我不知道如何在单击列表内部并添加类时获取元素的索引 我需要用纯 JavaScript 来实现 只需要离开 document ready fu