Определите, какая ссылка является хэштегом - PullRequest
0 голосов
/ 21 января 2011

Я новичок в использовании jQuery и у меня возник вопрос.

Я создал галерею, и ссылки на галерею добавлены, чтобы облегчить пользователю хэштеги. Например, если вы добавите любимую ссылку, для доступа к странице увидите правильное изображение, поскольку в ссылке присутствует хеш-тег.

Галерея почти работает, на самом деле я просто хотел добавить класс, чтобы сделать выбранный набор изображений.

$gallery = window.location.hash;

//If have no hashtag, adds the class on the first image
if( $gallery == '')
    jQuery('.gallery-nav ul li').children('a').first().addClass('current');
else
{
    jQuery('.gallery-nav ul li').each(function($i){
        $link_hash = jQuery(this).find('a').attr('href');

        if( $link_hash == $gallery)
        {
            alert ( $link_hash );
        }
    });
}

До тех пор, пока первая часть «Если у вас нет хэштега, добавляет класс на первом изображении» работает правильно, но тогда я не знаю, как. Например, если ссылка: http://example.net/gallery.php#3, Я хочу добавить класс по третьей ссылке.

В приведенной выше функции корректно отображается предупреждение. Когда он достигает выбранной ссылки, он показывает предупреждение. Но я не знаю, как добавить класс по ссылке.

Может ли кто-нибудь мне помочь? Спасибо.

1 Ответ

0 голосов
/ 21 января 2011

Вы можете просто выбрать этот элемент напрямую, используя attribute-ends-with-selector (документы) , чтобы выбрать элемент, в котором href заканчивается значением $gallery. (я предполагаю, что их меньше десяти.)

Как видите, $gallery объединяется в строку селектора.

else {
    jQuery('.gallery-nav ul li a[href$=' + $gallery + ']').addClass('current');
}
...