1

私は、別のリンクをクリックしたときにクラスを削除する方法を見つけようと一生懸命努力しています。選択した特定の領域のみが強調表示されるようにしたいのですが、removeクラスはクラスを削除しません。したがって、クラスで指定されているように強調表示されたままになりますunderNavselected。誰かが助けることができますか?

これはすべて1つのページにあり、他のドキュメントにリンクしていません。クリックするたびにコンテンツを非表示にしたり非表示にしたりしています。

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は、2番目のセレクターに一致する要素の子孫である、最初のセレクターに一致する要素を検索します。

于 2013-01-25T00:36:35.230 に答える