Определите, какая ссылка является хэштегом

StackOverflow https://stackoverflow.com/questions/4762922

  •  16-10-2019
  •  | 
  •  

Вопрос

Я новичок в использовании 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, Я хочу добавить класс по третьей ссылке.

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

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

Это было полезно?

Решение

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

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

else {
    jQuery('.gallery-nav ul li a[href$=' + $gallery + ']').addClass('current');
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top