gpt4 book ai didi

jQuery .removeClass 问题

转载 作者:行者123 更新时间:2023-11-28 13:24:07 26 4
gpt4 key购买 nike

我在我的网站上使用了一个词汇表,它利用了一些显示/隐藏功能和一个 .removeClass 属性。

$(document).ready(function() {
$("#glossary-container li").click(function() {
$(".glossary-content > div").hide();
var id = $(this).attr("id").replace('-link', '');
$('#' + id).show();

$(".glossaryUL li").each(function() {
$(this).click(function() {
$(".glossaryUL li").removeClass("selected");
$(this).addClass("selected");
elementClick = $(this).attr("id");
});
});
});

$('.coolbox').hide();

$('.clicker').click(function(event){
event.preventDefault();
$($(this).attr('href')).toggle(300);
});
});

在页面加载时,列表项字母“A”和 UL 类“.glossaryUL”通过内联样式设置为“选中”。

<li id="a-link" class="selected">A</li>

当您点击另一个字母时,会显示“.glossary-content”类中的术语,但 .removeClass 属性不会从字母“A”中删除类。

但是,如果您随后单击另一个字母(页面加载后的第二次单击),.removeClass 属性会起作用并删除类并将其应用于正确的字母...

我不明白为什么要这样做。

非常感谢任何帮助。

最佳答案

您不需要将您的点击事件分配包装到一个each 中,jQuery 已经为每个 元素分配了click 事件匹配那个选择器(因为你使用了一个类作为选择器)。我怀疑您有重复的点击事件冲突。试试这个:

$(".glossaryUL li").click(function() { 
$(".glossaryUL li").removeClass("selected");
$(this).addClass("selected");
elementClick = $(this).attr("id");
});
});

关于jQuery .removeClass 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14592719/

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