1

我一生都在努力弄清楚如何在单击另一个链接时让它删除一个类。我想要它,所以它只突出显示选定的特定区域,但删除类不会删除该类。因此,它按照类中的指定保持突出显示underNavselected。有人可以帮忙吗?

这都在一页上,没有链接到其他文档。每次点击我都会隐藏和取消隐藏内容。

jQuery(document).ready(function() {
    jQuery(".toTop").hide();
    jQuery(".aboutHeader").hide();
    jQuery(".LAM").hide();
    jQuery(".WID").hide();
    jQuery(".MyG").hide();
    jQuery("#LAMlink").live("click", function()
    {
        jQuery(this).addClass("underNavselected");
        jQuery(".LAM").slideToggle(500);
        jQuery(".WID").hide();
        jQuery(".MyG").hide();
        jQuery("#MyGlink", "#WIDlink").removeClass("underNavselected");
    });
    jQuery("#WIDlink").live("click", function()
    {
        jQuery(this).addClass("underNavselected");
        jQuery(".WID").slideToggle(500);
        jQuery(".LAM").hide();
        jQuery(".MyG").hide();
        jQuery("#LAMlink", "#MyGlink").removeClass("underNavselected");
    });
    jQuery("#MyGlink").live("click", function()
    {
        jQuery(this).addClass("underNavselected");
        jQuery(".MyG").slideToggle(500);
        jQuery(".LAM").hide();
        jQuery(".WID").hide();
        jQuery("#LAMlink", "#WIDlink").removeClass("underNavselected");
    });
});
4

3 回答 3

2

您偶然使用了后代选择器,您的代码等同于“#LAMlink #WIDlink”,这意味着您正在寻找具有 LAMlink 祖先的 WIDlink

所以正确的解决方案是改变:

jQuery("#LAMlink", "#WIDlink")

jQuery("#LAMlink, #WIDlink")

注意我的都是一样的string.

于 2013-01-25T00:35:25.643 回答
1

像这样做:

jQuery("#MyGlink, #WIDlink").removeClass("underNavselected");
于 2013-01-25T00:36:17.193 回答
1

改变这个:

  jQuery("#MyGlink", "#WIDlink").removeClass("underNavselected");

对此:

  jQuery("#MyGlink, #WIDlink").removeClass("underNavselected");

在你这样做的每个地方都类似。

选择器应该是一个带有逗号的字符串。你拥有它的方式 jQuery 将查找匹配第一个选择器的元素,这些元素是匹配第二个选择器的元素的后代。

于 2013-01-25T00:36:35.230 回答