在链接中查找并添加/删除具有匹配rel值的类

时间:2012-01-02 00:52:45

标签: jquery rel

几乎解决了这个问题,但似乎我不允许在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');
   }
}

2 个答案:

答案 0 :(得分:3)

这可能是您正在寻找的。我假设您有一些要切换的链接类,所以您应该将它添加到选择器中,这样您就不会选择所有链接,但这会从所有内容中删除活动类,然后将其添加回只有那些rel属性就是你从地图中抓取的东西。

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

答案 1 :(得分:1)

您不能在字符串中使用变量。将字符串与变量的值连接起来:

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