簡體   English   中英

我如何將類添加到div?

[英]how do i add class to a div?

這是我的點擊功能。

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>

我想在這個錨標簽里面的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節點的方法。

您需要更改班級列表:

 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> 

我有其他div與活動類我想從該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');
}

首先,您this傳遞給沒有target的函數。 要獲取目標屬性,您必須傳遞event 然后addClass()是一個jQuery方法,要在vanilla JS中添加類,你應該使用classList.add() 雖然您應該像以下方式一樣使用toggle()

 function toggleActiveClass(el){ //el.querySelector('div').classList.add("active"); el.querySelector('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> 

而不是這個傳遞事件

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

這將解決問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM