0

私のサイトは:

http://econrespuestas.com.ar

そして、AJAX ページローダーの統合に問題があります。「secondary-menu」のリンクをクリックすると、「current-menu-item」クラスが追加されますが、「current-menu-item」クラスは他のクラスから削除されません。

私はこのコードでそれをやろうとしています:

// highlight the current menu item
jQuery('secondary-menu li').each(function() {
    jQuery('thiss').removeClass('current-menu-item');
});
jQuery(thiss).parents('li').addClass('current-menu-item');

しかし、それは機能していません。removeClass セレクターに問題があるはずです。私たちを手伝ってくれますか?

4

1 に答える 1

0

まず、thiss存在しません (別の場所で宣言されていない限り)。である必要がありますthis。さらに、もっと似たものを試してください...

jQuery('.current-menu-item').removeClass('current-menu-item');
jQuery(this).parents('li').addClass('current-menu-item');

これは、「 classcurrent-menu-itemを持つすべてのオブジェクトからクラスを削除してから、クリックしたアイテムの親にcurrent-menu-itemクラスを追加する」ということですcurrent-menu-itemli

さらに、CSS で、.current-menu-item{...}現在選択されていないアイテムのスタイリングの後に表示されることを確認してください。


フィドルを参照してください: http://jsfiddle.net/6hR9K/2/


$また、の代わりに記号を使用することに明確な矛盾がない限り、jQueryまさにそのようにすることをお勧めします。

$('.current-menu-item').removeClass('current-menu-item');
$(this).parents('li').addClass('current-menu-item');
于 2012-06-22T15:18:25.297 に答える