单击时更改 li 背景颜色



我想在单击li锚点时更改背景颜色:

<div class="text-center row">
  <ul  class="col-md-12 secondNav">
    <li class="navbar-brand nav-item" style="margin-right: 9%">
      <a href="#" ><strong>INICIO</strong> </a>
    </li>
    <li  class="navbar-brand nav-item" >
      <a href="#"><strong>COMPARAR</strong></a>
    </li>
  </ul>
</div>

您可以使用 jquery 更改li背景。这是代码:

$(document).ready(function(){
  $('.nav-item').click(function(e){
  $(e.target).css('backgroundColor', 'red');
   });
});

斯菲德尔

所以,虽然我不一定推荐这个解决方案。实际上,没有javascript就可以做到这一点!看看这个例子:https://jsfiddle.net/age5zdkb/2/

<div class="text-center row">
  <ul  class="col-md-12 secondNav">
    <a href="#" >
      <li class="navbar-brand nav-item" style="margin-right: 9%">
        <input type="checkbox" id="demo"/>
        <label for="demo"><strong>INICIO</strong></label>
      </li>
    </a>
    <a href="#" >
      <li  class="navbar-brand nav-item" >
        <input type="checkbox" id="demo1"/>
        <label for="demo1"><strong>COMPARAR</strong></label>
      </li>
    </a>
  </ul>
</div>
label {
    display: block;
}
input[type="checkbox"] {
  display:none;
}
#demo:checked + label, #demo1:checked + label {
    background: pink;
    color: white;
}

以下是在没有任何依赖项的情况下执行此操作的方法。

const listItems = document.querySelectorAll('.navbar-brand');
listItems.forEach(li => {
  li.addEventListener('click', () => {
    li.classList.toggle('alt-background');
  });
});
.alt-background {
  background-color: lightgray;
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="text-center row">
  <ul  class="col-md-12 secondNav">
    <li class="navbar-brand nav-item" style="margin-right: 9%">
      <a href="#" ><strong>INICIO</strong> </a>
    </li>
    <li  class="navbar-brand nav-item" >
      <a href="#"><strong>COMPARAR</strong></a>
    </li>
  </ul>
</div>

js小提琴

您可以使用

jquery 在 CSS 中单击导航项时添加活动类 为活动项添加背景色

https://jsfiddle.net/binoy/g6e1bykx/3/

In JS
   $(document).ready(function(){
            $('.nav-item').click(function(e){
                $('.secondNav .nav-item').removeClass('active');
                $(this).addClass('active');
             });
    });

In  CSS
.secondNav .nav-item.active {
  background-color: red;
}

最新更新