javascript - 列表项未正确更改样式 JQuery

标签 javascript jquery html css

我想问一个关于 JQuery 的问题,我最近开始使用它。

我有一个 ol 列表,我想更改所选列表项(事件列表项)的背景和字体颜色。所以我写了这样的代码:

$('.cart-list ol li').on('click', function() {
  $('.active-cart-list').removeClass('active-cart-list');
  $(this).addClass('active-cart-list');
});
.cart-list ol li {
  margin-top: 1px;
  padding: 5px 16px 5px 16px;
  font-size: 16px;
  font-family: 'Lato';
  font-weight: bold;
  color: #000;
  text-transform: uppercase;
}
.cart-list ol li>span {
  text-align: left;
  margin-left: 28px;
}
.cart-list ol li {
  cursor: pointer;
}
.cart-list ol li.active-cart-list {
  background-color: #e571c5;
  color: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="cart-list">
  <ol>
    <li class="active-cart-list"><span>lorem1</span>
    </li>
    <li><span>lorem2</span>
    </li>
    <li><span>lorem3</span>
    </li>
    <li><span>lorem4</span>
    </li>
    <li><span>lorem5</span>
    </li>
    <li><span>lorem6</span>
    </li>
    <li><span>lorem7</span>
    </li>
  </ol>
</div>

list-style-item problem

一旦列表向下滚动,列表元素就会正确地改变它们的颜色,但我不能期望在该网站的每个列表上都有滚动。如果能得到任何帮助,我会非常高兴。

干杯

最佳答案

不幸的是,我认为这不是 jQuery 问题,而是 CSS 问题。

列表元素符号/数字一旦设置就很难更改...这可能是 CSS 计数器的一个很好的例子。

$('.cart-list ol li').on('click', function() {
  $('.active-cart-list').removeClass('active-cart-list');
  $(this).addClass('active-cart-list');
});
.cart-list ol li {
  margin-top: 1px;
  padding: 5px 16px 5px 16px;
  font-size: 16px;
  font-family: 'Lato';
  font-weight: bold;
  color: #000;
  text-transform: uppercase;
}
ol {
  counter-reset: numbers;
  list-style-type: none;
}
li::before {
  counter-increment: numbers;
  content: counters(numbers, "")". ";
}
.cart-list ol li>span {
  text-align: left;
  margin-left: 28px;
}
.cart-list ol li {
  cursor: pointer;
}
.cart-list ol li.active-cart-list {
  background-color: #e571c5;
  color: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div class="cart-list">
  <ol>
    <li class="active-cart-list"><span>lorem1</span>
    </li>
    <li><span>lorem2</span>
    </li>
    <li><span>lorem3</span>
    </li>
    <li><span>lorem4</span>
    </li>
    <li><span>lorem5</span>
    </li>
    <li><span>lorem6</span>
    </li>
    <li><span>lorem7</span>
    </li>
  </ol>
</div>

关于javascript - 列表项未正确更改样式 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35042601/

相关文章:

jquery - 如何使select2中的单个选择看起来像多个?

javascript - jQuery 和本地存储异常行为

javascript - 从 HTML 读取数字,添加数字并返回 HTML

javascript - 如何在 Javascript 中按 15 分钟间隔对 json 集合进行分组

javascript - Flash Player 上的外部 Javascript 接口(interface)无法在 CDN (Cloudfront) 上运行

javascript - 如何在JavaScript中替换字符串中的特定字符

javascript - 无需打开即可打印 pdf

javascript - 检查是否选中了 JQuery 移动复选框

javascript - 每次在 jquery 中单击按钮时如何使输入添加值?

javascript - 在 Javascript 中打开 Google 页面