2012-01-02 68 views
1

幾乎解決了這個問題,但似乎我不允許與jQuery「a []」標記內的變量匹配。我試圖用的顯示活動/非活動狀態,當用戶點擊地圖上的相應區域的鏈接列表連接的交互式地圖 -找到並添加/刪除鏈接與匹配的rel值

// 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

對不起,我誤解你的代碼,你也解決了它。謝謝! – 2012-01-02 01:38:57

1

您不能在字符串中使用變量。用變量的值連接字符串:

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

啊哈!這樣做,謝謝! – 2012-01-02 01:35:20

相關問題