Прослушиватели событий URL JQuery - PullRequest
0 голосов
/ 01 мая 2009

Я пытаюсь заставить JQuery выделить элемент на основе селектора идентификатора ссылки

Например

<a href="#thisid">Goto Element with ID name</a>

Подсвечивает элемент ниже.

<div id="thisid" class="isNowHighlighted">FooIsCoolButNotBetterThenBar</div>

Iv пытался найти соответствующие плагины, но без радости. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 01 мая 2009

То есть вы хотите добавить только класс?

jQuery('a[href^=#]').click(function(){
    var id = this.hash.replace('#','');
    $('#' + id).addClass('isNowHighlighted');
});

EDIT:

В ответ на ваш комментарий; вы можете сделать то же самое при загрузке страницы:

$(document).ready(function(){
    if (window.location.hash) {
        $('#' + window.location.hash.replace('#','')).addClass('isNowHighlighted');
    }
});
0 голосов
/ 01 мая 2009

Поскольку #thisId не является якорем, это бессмысленно, поэтому я бы сделал это следующим образом:

<a data-highlight="thisid" href="#">Goto ..</a>

$('a[data-highlight]').click(function(event){
    $('#' + $(this).data('highlight')).addClass('isNowHighlighted');
    event.preventDefault();
});
...