JQuery: выделить ссылку, которая имеет тот же Href, что и другой - PullRequest
2 голосов
/ 18 мая 2011

Я работаю над проектом, в котором я хочу выделить ссылку (в меню), которая имеет ту же ссылку, что и другая ссылка на сайте (в .container).

<ul class="menu">
    <li><a href="about.html">Link 1</a></li>
    <li><a href="portfolio.html">Link 2</a></li>
    <li><a href="contact.html">Link 3</a></li>
</ul>
<div class="container">
    <a href="contact.html">Go to Contact</a>
</div>

JS:

$("a").filter(function() {
    return this.href === $('.container a').href;
}).addClass("equalHref");

Ты знаешь, как мне этого добиться?

Ответы [ 4 ]

1 голос
/ 18 мая 2011
$('a:[href="' + $('.container a').attr("href") + '"]').addClass("equalHref");

Тест здесь

0 голосов
/ 18 мая 2011

http://jsfiddle.net/8BRyG/

скрипка здесь.

0 голосов
/ 18 мая 2011

Ваше решение очень правильное:

$("a").filter(function() {
    // use jQuery.attr to access href
    return this.href === $('.container a').attr("href");
}).addClass("equalHref");

или:

$("a").filter(function() {
    // expose DOM object and access href property
    return this.href === $('.container a')[0].href;
}).addClass("equalHref");
0 голосов
/ 18 мая 2011
var strHref = $('.container a').attr("href");    
$("a[href=" + strHref  + "]")addClass("equalHref")
...