2012-02-21 5 views
0

3つのカテゴリが1つのカテゴリに属する​​カテゴリ構造のようなものがあり、3つのページすべてでそのカテゴリのリンクを強調したいと思います。jQuery:同じリンクを複数のページでハイライト表示する必要がある場合、ナビゲーションリンクにアクティブなクラスを追加する方法は?

jQueryでこれを行う方法を提案できると感謝します。 これは、1つのリンクが1ページに対応している場合にのみ、href経由で解決策を見つけました。

編集:

申し訳ありませんが、私はすぐにコードを掲載しました必要がありますね。

<div class="left"> 
/.../ 
<ul> 
<li><a href="paolini.html">Marinella Paolini, Urban Soul</a></li> 
<li><a href="scaccia.html">Beatrice Scaccia and Marta Jovanovic</a></li> 
</ul> 
</div> 

<div id="right"> 
<h3>Marinella Paolini, URBAN SOUL</h3> 
<p>November 23, 2011 - January 15, 2012</p> 

<ul class="galMenu"> 
<li><a href="#" class="act">IMAGES</a></li> 
<li><a href="paolini-press.html">PRESS RELEASE</a></li> 
<li><a href="paolini-aboutartist.html">ARTIST</a></li> 
</ul> 
/.../ 
</div> 

私はそれがH3の内容をチェックして、またはページ(その一部)のURLをチェックすることにより、いずれか、あるアーティストをチェックする方法が必要になり、その後、#leftに対応するリンクを見つけますulを強調表示します。 これを行う方法はありますか?

EDIT2:

[OK]を、私が思い付くことをどうにか:

var $artist = $('h3').text();   
if ($("#left ul li a:contains($artist)")) { 
$(this).addClass("active"); 
} 

私が代わりに 'この' の#left UL李a 'を置くと、それはすべてのアクティブなクラスを追加します私は 'これ'を離れると何もしません。変数を含むリンクにのみクラスを追加するにはどうすればよいですか?

私はここで不安です。私はあなたが私に与えることができるどんな助けにも感謝します。

+0

あなたはこれをより詳細に説明していただけますか?リンクを強調表示することはjQueryで簡単に行うことができますが、それよりもややこしいことをしたいと思っています。 –

+0

私は5人のアーティストのためのリンクを持つulを持っています。そして、それぞれのアーティストのために、イメージギャラリーページ、プレスリリースページ、およびバイオページ用のサブメニューがあります。これらのページの3つすべてで自動的にメインナビゲーション(アーティスト名)のリンクを強調するコードが必要です。 – shki

+0

私は、h2や何かと同じテキストを持つリンクを強調表示する行に沿って何かを考えていましたが、それをどうするかわかりません。 – shki

答えて

0

ライブ例:http://jsfiddle.net/kUeXd/

私は、メニューのあなたの構造が何であるかを知らないので、アクティブな要素を定義するために一つのメインIDと1つのクラスを使用してそれをやりました。この例に基づいてコードを実行し、コードに実装する方法のアイデアを得る必要があります。

+0

ありがとう、Marcin。 – shki

0

これが働いた:

var artist = $('h3').text(); 
$("#left ul li a:contains('" + artist + "')").addClass('active'); 
関連する問題