几乎解决了这个问题,但似乎我不允许在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');
}
}
答案 0 :(得分:3)
这可能是您正在寻找的。我假设您有一些要切换的链接类,所以您应该将它添加到选择器中,这样您就不会选择所有链接,但这会从所有内容中删除活动类,然后将其添加回只有那些rel属性就是你从地图中抓取的东西。
var active = 'something';
$('a').removeClass('active').filter('a[rel^="'+active+'"]').addClass('active');
答案 1 :(得分:1)
您不能在字符串中使用变量。将字符串与变量的值连接起来:
if($('a[rel^=' + active + ']')) {