javascript - jquery 只允许在单击时一次选择一个 div 元素
问题描述
我设计了一些标记,用户可以在其中选择一个 DIV 并显示突出显示.. 这工作正常,但是,我只想允许一个 DIV 一次突出显示和选择.. 目前用户可以选择所有 3 个 DIVS,他们将全部突出显示。我使用 jquery toggleClass 向 DIV 添加/删除“活动”类。“活动”类在 CSS 中设置样式以显示蓝色背景。
如何阻止用户选择所有 3 个?
$('.pricecard.aircraft').click(function() {
// this will fire when you click view
$(this).toggleClass('active');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm-4 my-1">
<div class="card pricecard aircraft active h-100">
<div class="card-body">
<span class="price1">£20,944</span></p>
</div>
</div>
</div>
<div class="col-sm-4 my-1">
<div class="card pricecard aircraft h-100">
<div class="card-body">
<span class="price2">£20,944</span></p>
</div>
</div>
</div>
<div class="col-sm-4 my-1">
<div class="card pricecard aircraft h-100">
<div class="card-body">
<span class="price3">£20,944</span></p>
</div>
</div>
</div>
解决方案
为了实现您的目标,请调用不是被点击的removeClass()
所有其他元素:.pricecard.aircraft
let $divs = $('.pricecard.aircraft').click(function() {
$divs.not(this).removeClass('active');
$(this).toggleClass('active');
});
.active { color: #C00; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm-4 my-1">
<div class="card pricecard aircraft active h-100">
<div class="card-body">
<span class="price1">£20,944</span>
</div>
</div>
</div>
<div class="col-sm-4 my-1">
<div class="card pricecard aircraft h-100">
<div class="card-body">
<span class="price2">£20,944</span>
</div>
</div>
</div>
<div class="col-sm-4 my-1">
<div class="card pricecard aircraft h-100">
<div class="card-body">
<span class="price3">£20,944</span>
</div>
</div>
</div>
推荐阅读
- delphi - Delphi 音频记录示例不适用于 ios 12.0.1 和 ios 12.1
- string - 要读取的批处理文件
- python - Pytorch:在特定的张量维度中设置索引(类似于 torch.index_select)
- python - 如何访问队列中的索引
- mysql - MySQL 8.0 错误 3118 (HY000):用户“root”@“localhost”的访问被拒绝。帐户被锁定
- java - 当似乎只有一个 Java 版本可用时,为什么会出现 LinkageError?
- python - 在 python 上使用临时工作目录
- java - 将 Spring Session 与 Redis 结合使用时,Jetty 中的 java.lang.ClassCastException 与 SseEmitter
- database - 删除数据位于 json 列中的 postgresql 数据库中的连续重复项
- jenkins - jenkins shell 构建步骤,变量包含单引号