2011-01-21 45 views
0

我是使用jQuery的初学者,并且遇到一个问题。确定哪个链接是hashtag

我做了一个画廊和画廊链接添加,以方便标签用户。例如,如果添加收藏夹链接,访问该页面将看到正确的图像,因为链接中存在散列标签。

该画廊几乎可以工作,实际上我只是想添加一个班级来制作所选图片集。

$gallery = window.location.hash; 

//If have no hashtag, adds the class on the first image 
if($gallery == '') 
    jQuery('.gallery-nav ul li').children('a').first().addClass('current'); 
else 
{ 
    jQuery('.gallery-nav ul li').each(function($i){ 
     $link_hash = jQuery(this).find('a').attr('href'); 

     if($link_hash == $gallery) 
     { 
      alert ($link_hash); 
     } 
    }); 
} 

直到第一部分,“如果没有标签,在第一个图像上添加类”工作正常,但我不知道如何。例如,如果链接是:http://example.net/gallery.php#3,我想在第三个链接上添加该类。

在上面的函数中,它正确显示警报。当它到达选定的链接时,它显示警报。但我不知道如何在链接中添加类。

任何人都可以帮助我吗? 谢谢。

+0

仅供参考 - 对于像这样的涉及DOM选择的问题,最好提供一个正在被选中的HTML样本。 – user113716 2011-01-21 19:37:49

回答

0

您可以直接使用attribute-ends-with-selector(docs)选择该元素,以选择href$gallery的值结尾的元素。 (我认为有不到十个)。

正如你所看到的,$gallery连接到选择器字符串。

else { 
    jQuery('.gallery-nav ul li a[href$=' + $gallery + ']').addClass('current'); 
} 
+0

谢谢。完美工作。 – user584912 2011-01-21 19:46:36