gpt4 book ai didi

jquery - 替换 jquery 中的类,停止执行所需操作的元素

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:32 26 4
gpt4 key购买 nike

我有一个类别列表,你只能选择一个。所选的有一个类别,当选择不同的过滤器时,所选的类别将失去其所选类别,并返回到未选择的状态。但是,一旦发生这种情况,我就无法再单击该元素来添加类。

$('.bpcustomers_not_selected').click(function() {
$(this).parent().find('.bpcustomers_selected').removeClass('bpcustomers_selected').addClass('bpcustomers_not_selected');
$(this).removeClass('bpcustomers_not_selected').addClass('bpcustomers_selected');
});
.bpcustomers_filter li {
cursor: pointer;
padding: 10px 0;
}

.bpcustomers_not_selected:hover {
color: #000;
}

.bpcustomers_selected {
color: #2585fe;
font-weight: bold;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul class="bpcustomers_filter">
<li class="bpcustomers_selected" data-value="0">ALL</li>
<li class="bpcustomers_not_selected" data-value="1">Under £1000</li>
<li class="bpcustomers_not_selected" data-value="2">£1000-10,000</li>
<li class="bpcustomers_not_selected" data-value="3">£10,000-25,000</li>
<li class="bpcustomers_not_selected" data-value="4">£25,000-50,000</li>
<li class="bpcustomers_not_selected" data-value="5">Over £50,000</li>
</ul>

如果您单击除 ALL 之外的任何内容,请尝试再次单击 ALL,它不会被选中。

这是如何解决的?

最佳答案

由于 ALL 最初没有 bpcustomers_not_selected 类,而您正在动态添加它,因此您需要使用 .on()bpcustomers_filter 中,像这样:

$('.bpcustomers_filter')
.on('click', '.bpcustomers_not_selected', function() {
$(this).parent().find('.bpcustomers_selected').removeClass('bpcustomers_selected').addClass('bpcustomers_not_selected');
$(this).removeClass('bpcustomers_not_selected').addClass('bpcustomers_selected');
});
.bpcustomers_filter li {
cursor: pointer;
padding: 10px 0;
}

.bpcustomers_not_selected:hover {
color: #000;
}

.bpcustomers_selected {
color: #2585fe;
font-weight: bold;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
<ul class="bpcustomers_filter">
<li class="bpcustomers_selected" data-value="0">ALL</li>
<li class="bpcustomers_not_selected" data-value="1">Under £1000</li>
<li class="bpcustomers_not_selected" data-value="2">£1000-10,000</li>
<li class="bpcustomers_not_selected" data-value="3">£10,000-25,000</li>
<li class="bpcustomers_not_selected" data-value="4">£25,000-50,000</li>
<li class="bpcustomers_not_selected" data-value="5">Over £50,000</li>
</ul>

关于jquery - 替换 jquery 中的类,停止执行所需操作的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56539503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com