2012-01-31 59 views
0

我有一点点javascript可以在页面上找到链接,如果它与当前页面的链接相同,它会将css更改为当前链接。这工作正常。但是我想要做的就是扩展这个,例如让相同的链接是mysite.com/blog/post。我希望它去了一个目录,即mysite.com/blog找到,如果链接页面上,如果它是突出它,希望这使得sense.The代码我是:从当前链接中查找链接路径目录(javascript)

<script type="text/javascript"> 
$(document).ready(function() { 
var path = location.pathname; 
if (path) 
$('#sidebar ul.archive a[href$="' + path + '"]').attr('class', 'current'); 
}); 
</script> 

所以我以为我只需要改变var路径来找到上面的目录的链接,但不知道我该怎么做呢?

+0

如果path是'/ a/b/c /',那么'/ a/b/c /../'是父目录。它不漂亮,但它是有效的。 – 2012-01-31 16:54:07

回答

1

您可以尝试解析location.pathname以删除最右边的目录。例如:

var path = location.pathname; 
var parentPath = path.substr(0,path.lastIndexOf('/')); 
+1

打我10秒:D – Domenic 2012-01-31 16:57:08

+0

谢谢,听起来像我后,但它选择当前的链接,而不是链接到上面的目录 – david 2012-02-01 09:07:35

+0

啊没关系,解决了它,用路径替换了父路径 – david 2012-02-01 09:09:48

0

如果我理解正确的你..

$('#sidebar ul.archive a').filter(function() { 
    return path.match($(this).attr('href')); 
}).addClass('current'); 

例如,这将增加current类的链接<a href="/blog">Blog</a>如果当前页面是mysite.com/blog/post