jQuery attribute selector variable

I have a selectbox with several options - each of these option values correspond to a "value" attribute on some images below. The functionality I want is when selectbox value is changed the img with the corresponding value is highlighted with a red border. Here is the code:

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

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

Looking around at the jquery documentation (http://api.jquery.com/attribute-equals-selector), apparently this should work...

Any help would be appreciated, Thank you!

Answers:

Answer

Prior to jQuery 1.7

The following will work:

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

jQuery 1.7 and later

In 1.7 jQuery changed the syntax to require the attributes to have quotation around the value:

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

Quotes are messed up:

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

To the above, it no longer works as mentioned above (, though it might also be only my code). The single quotation messes up the code. The following code works

As of jQuery 3.2.1 and later

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

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.