Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
237 views
in Technique[技术] by (71.8m points)

javascript - Target a link if that link links to the current page?

this may be a stupid question as I can't seem to find an answer :P

Is there a way with javascript/jQuery to Target all links on a page ONLY if they link to the current page?

Say i've got a static sidebar on ALL pages, for intents and purposes:

<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>

Notice the code for ALL of them is the same. Let's say I'm on "www.domain.com/two" - Is there a way to target

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

because it's linking to the current page?

***ANSWERED*****

The guy deleted his answer - but I used it to create this -

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

which worked :)

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try the following:

<!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>

?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...