2012-02-21 22 views
0

我有類似的結構,其中3頁屬於一個類別,我想在這三個頁面上突出顯示該類別的鏈接。jQuery:如果我需要在多個頁面上突出顯示相同的鏈接,如何將活動類添加到導航鏈接?

如果你能提出一種用jQuery做這件事的方法,我會感激不盡。 我只通過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:

好吧,我設法想出:

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

如果我把「#left UL李一」,而不是「本」,它增加了活動類所有鏈接,但如果我離開'這個'它什麼都不做。我如何才能將它僅添加到包含該變量的鏈接?

我知道我在這裏摸索。我會很感激你能給我的任何幫助。

+0

能否請您詳細介紹這一點?突出顯示鏈接對於jQuery來說很簡單,但我懷疑你想做一些比這更棘手的事情。 – 2012-02-21 16:54:20

+0

好吧,我有一個ul鏈接5個藝術家,然後爲每個藝術家我有一個圖像畫廊頁面,新聞發佈頁面和生物頁面的子菜單。我需要能夠自動在所有三個頁面中突出顯示主導航(藝術家姓名)鏈接的代碼。 – shki 2012-02-21 17:07:21

+0

我正在想着突出顯示與h2相同文本的鏈接,但我不知道該怎麼做。 – shki 2012-02-21 17:14:20

回答

0

活生生的例子:http://jsfiddle.net/kUeXd/

我這樣做是使用一個主ID和一個類定義的活性元素,因爲我不知道什麼是你的菜單結構。您應該瞭解如何根據示例執行此操作並在您的代碼中實現它。

+0

謝謝,Marcin。 – shki 2012-02-21 17:51:00

0

這工作:

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