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');
   }
}
4

2 回答 2

3

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

var active = 'something';
$('a').removeClass('active').filter('a[rel^="'+active+'"]').addClass('active');
于 2012-01-02T01:19:00.510 回答
1

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

if($('a[rel^=' + active + ']')) {
于 2012-01-02T01:31:27.773 回答