jQuery属性选择器变量

时间:2011-05-25 21:23:09

标签: javascript jquery

我有一个带有多个选项的选择框 - 这些选项中的每一个都对应于下面某些图像的“值”属性。我想要的功能是当selectbox值改变时,带有相应值的img用红色边框突出显示。这是代码:

function assignValue() {
  selectboxvalue = $('#Box_style').val() ;
  $('.tabContent img[value="+selectboxvalue+"]').css({border: '1px solid #c10000'});
}

$('#Box_style').change(assignValue);

环顾jquery文档(http://api.jquery.com/attribute-equals-selector),显然这应该有用......

任何帮助将不胜感激,谢谢!

3 个答案:

答案 0 :(得分:40)

jQuery 1.7之前

以下内容可行:

$('.tabContent img[value='+selectboxvalue+']').css({border: '1px solid #c10000'});

jQuery 1.7及更高版本

在1.7中,jQuery更改了语法,要求attributes引用该值:

$('.tabContent img[value="'+selectboxvalue+'"]').css({border: '1px solid #c10000'});

答案 1 :(得分:7)

行情搞砸了:

  $('.tabContent img[value="'+selectboxvalue+'"]').css({border: '1px solid #c10000'});

答案 2 :(得分:1)

对于上述内容,它不再像上面提到的那样工作(虽然它也可能只是我的代码)。单引号会扰乱代码。以下代码可以使用

从jQuery 3.2.1及更高版本开始

$("#clickmap a[gruppe="+gruppeId+"]").children("path").addClass('lastClicked');