2012-03-30 136 views
-2

这可能是一个愚蠢的问题,因为我似乎无法找到答案:P如果该链接链接到当前页面,则链接到目标链接?

是否有使用javascript/jQuery的方式指定网页上的所有链接,只有当他们链接到当前页面?

说,我已经得到了所有页面上的静态侧边栏,对意图和目的:

<ul id="sidebar"> 
    <li><a href="/one">One</a></li> 
    <li><a href="/two">Two</a></li> 
    <li><a href="/three">Three</a></li> 
</ul> 

通知他们所有的代码是一样的。比方说,我在“www.domain.com/two” - 是否有一个目标

<li><a href="#">Two</a></li> 

,因为它链接到当前页面的方式?

***ANSWERED* ** * *

这家伙删除了他的答案 - 但我用它来创建此 -

var linksToCurrentPage = $('a[href="' + window.location.href + '"]'); 
if (linksToCurrentPage) { 
    $('a').addClass('currently-active'); 
}; 

哪些工作:)

+0

我改变的问题。链接是绝对的,不是相对的:/ – Xhynk 2012-03-30 23:16:42

+0

var linksToCurrentPage = $('a [href =“'+ window.location.href +'”]');如果(linksToCurrentPage){ \t \t $('a')。addClass('currently-active'); }; 这工作 – Xhynk 2012-03-30 23:17:46

+0

你想改变链接href到当前页面href到'#?' – iambriansreed 2012-03-30 23:19:32

回答

0

尝试以下操作:

<!DOCTYPE html> 
<html> 
<head> 
    <script src="http://code.jquery.com/jquery-latest.js"></script> 
</head> 
<body> 

<ul id="sidebar"> 
    <li><a href="/one">One</a></li> 
    <li><a href="/two">Two</a></li> 
    <li><a href="/three">Three</a></li> 
</ul> 


<script> 
var pathname = window.location.pathname; 
//$("a:contains('One')").css("color", "red"); // This will make One red (notice capital O) 
$("a:contains(pathname)").css("color", "red"); 

</script>