リンクがハッシュタグであるかを決定します
質問
私は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, 、3番目のリンクにクラスを追加したいと思います。
上記の関数では、アラートが正しく表示されます。選択したリンクに到達すると、アラートが表示されます。しかし、リンクにクラスを追加する方法がわかりません。
誰かが私を助けることができますか?ありがとう。
解決
その要素を使用して直接選択することができます attribute-ends-with-selector
(docs) 場所を選択するには href
の値で終わります $gallery
. (私は10人未満だと思います。)
ご覧のとおり、 $gallery
セレクター文字列に連結されています。
else {
jQuery('.gallery-nav ul li a[href$=' + $gallery + ']').addClass('current');
}
所属していません StackOverflow