gpt4 book ai didi

javascript - 从下拉列表中选择选项时,JS 未按预期工作

转载 作者:行者123 更新时间:2023-12-03 07:44:02 25 4
gpt4 key购买 nike

目标

  1. 单击 <ul> 的成员选择/取消选择它。

  2. 如果选择了 class=allSearch,则已选择的任何其他 li 都将被取消选择。

  3. 如果选择了 allSearch,然后选择了 notAllSearch,则取消选择 allSearch。

问题

目标 3 不起作用,这对我来说没有意义,因为它应该(并且确实)与目标 2 中使用的代码基本相同。

代码如下:

HTML

<ul class="menu vertical" id="searchMenu">
<li id="allSearch" class="allSearch selected">All</li>
<li id="notAllSearch" class="notAllSearch">User</li>
<li id="notAllSearch" class="notAllSearch">Artists</li>
<li id="notAllSearch" class="notAllSearch">Events</li>
</ul>

JS:

$(document).ready(function() {
$('#searchMenu li').click(function () {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
}
else if ($(this).hasClass('notAllSearch')) {
$('#allSearch').removeClass('selected')
$(this).addClass('selected');
}
else if ($(this).hasClass('allSearch')) {
$('#notAllSearch').removeClass('selected')
$(this).addClass('selected');
}
else
$(this).addClass('selected');
});
})

最佳答案

试试这个:而不是在 CLASS 上进行 ID 工作

$(document).ready(function() {
$('#searchMenu li').click(function () {
if ($(this).hasClass('selected')) {
$(this).removeClass('selected');
}
else if ($(this).hasClass('notAllSearch')) {
$('.allSearch').removeClass('selected')
$(this).addClass('selected');
}
else if ($(this).hasClass('allSearch')) {
$('.notAllSearch').removeClass('selected')
$(this).addClass('selected');
}
else
$(this).addClass('selected');
});
});

这是pen to test

关于javascript - 从下拉列表中选择选项时,JS 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35282847/

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