2016-08-02 6 views
0

前のリンクがホームリンクだった場合は、リンクにクラスを追加したいと考えています。 は、それがアクティブリンクホーム場合は、簡単なナビゲーションバーで、リンクが以前のアクティブリンクをチェックするためにどのようにそれメニューバーのリンクをクリックした後、前のアクティブリンクを確認してください。jQuery

$('ul li').click(function(){ 
    var prevLink = ??; // how can i get prevLink here 
    if(prevLink == 'Home') { 
     $(this).addClass("addext"); 
     $('ul li').removeClass("addext"); 
    } 
}); 

class..thatsを追加されますクリックしますか?

$(this).addClass("addext"); 
$('ul li').removeClass("addext"); 

へ:

+1

ようにコードを変更するには、あなたのhtmlコードは –

+0

あなたは、このためのhtmlコードを提供することができますしてください示して!あなたの質問はまだ不明です! –

答えて

1

は完全な答え、理由はあなたの不足しているHTMLの、しかし、あなたはこれらの2行を切り替える必要がない

$('ul li').removeClass("addext"); 
$(this).addClass("addext"); 

は、そうでない場合は、設定、およびインスタントは、クラスを削除します。どこかのjsのコードの上に置き

var globalPrevLink = ""; 

$('#Home').onclick(function(){ 
    globalPrevLink = window.location.href; // this is clicked last time so remember it in globalPrevLink variable 
}); 

を、あなたが与えたものは何でもIDにホームを変更します。これは役立つ

$('ul li').click(function(){ 
     var prevLink = $('ul li.addext').text(); 
     if(prevLink == 'Home') { 

      $('ul li').removeClass("addext"); 
      $(this).addClass("addext"); 

     } 
    }); 
0

使用$('ul li.addext').text();あなたの家のリンクタグに。

その後、

$('ul li').click(function(){ 
    var prevLink = globalPrevLink; // globalPrevLink is assigned here 
    if(prevLink == 'Home') { // change this also as accordingly, use console log 
     $('ul li').removeClass("addext"); // switch as suggested in other comment 
     $(this).addClass("addext"); 
    } 
}); 
1

希望をaddestクラスを持っているのliテキストを取得する

+0

完璧ではありませんが、それは助けました。私は別の方法でそれをやった... – JohnB

+0

歓迎:)私の仕事は完了しました –

+0

それは自動的に順序のないリストの間のアクティブなリンクをチェックする必要があります。もしあなたのリンクがホームリンクであれば、次の行はエキセントリンクトになります.. – JohnB

関連する問題