jquery
  • hyperlink
  • path
  • var
  • 2011-01-21 15 views 0 likes 
    0

    現在、現在のURLと一致するhrefを持つアンカーにアクティブなクラスが適用されるナビゲーションメニューを作成しようとしています。私はそのアクティブなページを残しているにもかかわらず、スタイルは離れて行く項目をオフにマウスを移動すると、仕事が終了したが、ホバリングで。jqueryを使用してアクティブなクラスをクラスに追加する方法

    var path = location.pathname; 
    var home = "/"; 
    $("a[href='" + [path || home] + "']").parents("li").each(function() { 
         $(this).addClass("current_page_item"); 
    }); 
    
    +0

    なぜサーバー側でこれをしないのですか? –

    +0

    'current_page_item'が' a:active 'を使って定義されていると仮定して、うまくいくはずです。 –

    +0

    他の誰かがそれをやり遂げるのが遅れているかもしれません。Colesを動作させることができませんでした。メニューはhttp://essllc.sitegov.com/ – Deonya

    答えて

    0
    var aHrefs = $("li a") 
    
    $.each(aHrefs, function (i,e) { 
        var href = $(e).attr('href'); 
        var currentHref = top.location.href; 
    
        if (href == currentHref) { 
         $(e).parents('li.asign-an-li-class-here').addClass('current_page_item'); 
        } 
    
    }); 
    

    私は、これは動作するはずだと思います。これを直前にロードします。 .current_page_item cssクラスで混乱しているコードを確認してください。

    parent()コールを忘れました。そのli要素にクラス名を割り当てて、ページの上に偽陽性を与えることはありません。

    +0

    これはサイトhttp://essllc.sitegov.com/のURLです。メニューが動的になるようにCMSシステムを使用しています。私は上記のいずれかのオプションを働かせることはできませんでした。 – Deonya

    +0

    は、適切なli要素に "selected"クラスを追加しているようです。 do li.selected { /* some css */ } – Cole

    関連する問題