2012-01-02 69 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

相关问题