2012-02-21 38 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'); 
相关问题