Атрибут jQuery rel - PullRequest
       17

Атрибут jQuery rel

1 голос
/ 13 июля 2010

У нас есть много ссылок с rel атрибутами:

<div class="team-tags">
 <a class="s1" rel="t1 t2 t3" href="#">One</a>
 <a class="s2" rel="t2 t3" href="#">Two</a>
 <a class="s3" rel="t1" href="#">Three</a>
 <a class="s4" rel="t4 t6" ref="#">Four</a>
 <a class="s5" rel="t2 t5" href="#">Five</a>
</div>

И одна ul:

<ul class="team">
 <li class="t1">Some text</li>
 <li class="t2">Some text</li>
 <li class="t3">Some text</li>
 <li class="t4">Some text</li>
 <li class="t5">Some text</li>
 <li class="t6">Some text</li>
</ul>

rel каждой ссылки может иметь несколько значений (например, class="value1 value2 value3 value4").Каждое значение используется для обозначения похожих class из <li>.

rel="t2 t3", отметок <li class="t2">Some text</li> и <li class="t3">Some text</li>.И так далее.

Основная идея - когда мы hover любой из этих ссылок, сценарий должен найти li s с аналогичным классом внутри .team списка и переключить activeкласс для них.

Например, если мы hover свяжем с rel="t4 t6", скрипт должен переключить класс active для <li class="t4">Some text</li> и <li class="t6">Some text</li>, например <li class="t4 active">Some text</li> и <li class="t6 active">Some text</li>.

Используется jQuery 1.3.2.

Есть идеи?

Спасибо.

1 Ответ

3 голосов
/ 13 июля 2010

Как это:

function getTeams(elem) {
    return $('.' + elem.rel.replace(' ', ', .'));
}
$('.team-tags a[rel]').hover(
    function() { getTeams(this).addClass('active'); },
    function() { getTeams(this).removeClass('active'); }
);

Демо

...