Определите, какая ссылка является хэштегом
Вопрос
Я новичок в использовании 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');
}