Как переключить класс в навбаре по ховеру?

109
04 апреля 2019, 07:10

По умолчанию первой ссылке в навбаре задан класс active, мне нужно при наведении на другую ссылку этого же навбара передать этот класс ей, и убрать с предыдущей выделенной, как решить такую тривиальную задачу?

<ul>
 <li><a class="active">link1</a></li>
 <li><a>link2</a></li>
 <li><a>link3</a></li>
</ul>
Answer 1

На выбор:

  • hover()
  • mouseenter()

Javascript

document.querySelectorAll('a').forEach(function(el) { 
  el.addEventListener('mouseenter', function() { 
    document.querySelector('a.active').classList.remove("active"); 
    this.classList.add("active"); 
  }); 
});
.active { 
  color: red; 
}
<ul> 
  <li><a class="active">link1</a></li> 
  <li><a>link2</a></li> 
  <li><a>link3</a></li> 
</ul>

Jquery

$("a").on("mouseenter", function() { 
  $("a").removeClass("active"); 
  $(this).addClass("active"); 
});
.active { 
  color: red; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<ul> 
  <li><a class="active">link1</a></li> 
  <li><a>link2</a></li> 
  <li><a>link3</a></li> 
</ul>

READ ALSO
Множество VM для схожих моделей

Множество VM для схожих моделей

Столкнулся с проблемой при проектировании приложения, используя WPF и паттерн MVVM

136
Передача значения переменной в классе

Передача значения переменной в классе

Есть приложение Windows Form с несколькими формамиЕсть код класса:

146
Adapter.Update(DataTable dt) не обновляет все записи

Adapter.Update(DataTable dt) не обновляет все записи

Данные из таблицы базы данных отображаются в treeList1(DevExpress) и дублируются в dataGridViewПользователь изменяет данные в treeList1 (изменения происходят...

204
Выбор значений С По из запроса SQLITE

Выбор значений С По из запроса SQLITE

К примеру у меня есть запрос:

123