2011-01-21 11 views
0

私は初心者で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番目のリンクにクラスを追加します。

上記の機能では、警告が正しく表示されます。選択したリンクに到達すると、アラートが表示されます。しかし、リンクにクラスを追加する方法がわかりません。

誰でもお手伝いできますか?おかげさまで

+0

FYI - このようなDOM選択が必要な場合は、選択しているHTMLのサンプルを提供することをお勧めします。 – user113716

答えて

0

attribute-ends-with-selector(docs)を使用してその要素を直接選択して、$galleryという値で終わるhrefの要素を選択することができます。 (私は10より少ないと仮定します)

ご覧のとおり、$galleryはセレクタ文字列に連結されています。

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

ありがとうございます。完璧に働いた。 – user584912

+0

@ user584912:ようこそ。 – user113716

関連する問題