javascript - 如何将类添加到 div?

标签 javascript html css

这是我的点击函数。

function toggleActiveClass(e){

    console.log(e);
}

这里是我调用函数的地方

<a href="#" onclick="toggleActiveClass(this)" class="link--no-decor link--dark">

这是它在控制台中返回的输出

<a href="#" onclick="toggleActiveClass(this)" class="link--no-decor link--dark">
   <li>
      <div class="menu-item menu-item--google menu-item--radio">
         <span>...</span>
         <span class="va-middle">
         Personal info
         </span>
      </div>
   </li>
</a>

我想像这样在该 anchor 标记内的 div 标记中添加类“active”。


<a href="#" onclick="toggleActiveClass(this)" class="link--no-decor link--dark">
   <li>
      <div class="menu-item menu-item--google menu-item--radio active">
         <span>...</span>
         <span class="va-middle">
         Personal info
         </span>
      </div>
   </li>
</a>

尝试使用这个

function toggleActiveClass(e){

    e.target.childNodes[1].addClass("active");
}

但是没有用。 如何将事件类添加到 div?使用 JavaScript。

最佳答案

它不起作用,因为 addClass 不是 DOM nodes 的方法.

您需要更改类(class)列表:

function toggleActiveClass(link)
{
  let div = link.querySelector('.menu-item');
  div.classList.toggle('active');
}
.active
{
color:red;
}
<a href="#" onclick="toggleActiveClass(this)" class="link--no-decor link--dark">
   <li>
      <div class="menu-item menu-item--google menu-item--radio">
         <span>...</span>
         <span class="va-middle">
         Personal info
         </span>
      </div>
   </li>
</a>

I have other div with active class i want to remove the active class from that div?

我必须知道您文档的其余结构,但只能猜测:

function toggleActiveClass(link)
{
  let currentActive = document.querySelector('.menu-item .active');
  currentActive.classList.remove('active');
  let newActive = link.querySelector('.menu-item');
  newActive.classList.add('active');
}

关于javascript - 如何将类添加到 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57670916/

相关文章:

javascript - CKEditor setData() 更改内容但抛出错误

javascript - jQuery IE 搞砸了

PHP/HTML 显示隐藏字符

html - Bootstrap 页脚元素位置 bottom

javascript - 通过 JS API 集成 BIRT Actuate 的 iHub

javascript - 将 D3 链接文本显示在右侧

javascript - 使用 Gulp 启动非常慢的 BrowserSync 服务器

javascript - $(window).one ('load' ) 是如何工作的,它是如何失败的?

CSS3 : Transition hover and animation rotation bug

html - jsf页面中style和styleClass的区别