2012-01-02 4 views
1

これをほぼ解決しましたが、jQuery "a []"タグ内の変数と一致させることはできません。私は、ユーザーがマップ上の対応する領域をクリックしたときに、アクティブ/非アクティブの状態を表示するためのリンクのリストをインタラクティブマップを接続しようとしている -関連する値が一致するリンクからクラスを見つけて追加/削除する

// Inside a click event with var active containing the fetch from the map 

var active = "Lorem ipsum"; 

if($('a[rel^=' + active + ']', '.regions')) { 
    if ($('a[rel^=' + active + ']', '.regions').hasClass('active')) { 
    $('a[rel^=' + active + ']', '.regions').removeClass('active'); 
    } 
    else { 
    $('a[rel^=' + active + ']', '.regions').addClass('active'); 
    } 
} 

答えて

3

これは、あなたが探しているものかもしれません。私はあなたがトグルしたいリンクのいくつかのクラスを持っていると仮定しているので、あなたはおそらくすべてのリンクを選択していないので、セレクタにそれを追加する必要がありますしかし、これはすべてからアクティブなクラスを削除し、 rel属性はマップから取得したものです。

var active = 'something'; 
$('a').removeClass('active').filter('a[rel^="'+active+'"]').addClass('active'); 
+0

申し訳ありませんが、私はあなたのコードを誤解しています。あなたもそれを解決しました。ありがとう! –

1

文字列の中で変数を使用することはできません。文字列を変数の値と連結します。

if($('a[rel^=' + active + ']')) { 
+0

Aha!それはそれでした、ありがとう! –

関連する問題