2011-05-25 430 views
12

我有一個選擇框有幾個選項 - 這些選項值中的每一個對應於下面某些圖像上的「值」屬性。我想要的功能是當選擇框值改變時,img與相應的值用紅色邊框突出顯示。下面是代碼:jQuery屬性選擇器變量

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),顯然這應該工作放眼望去...

任何幫助將不勝感激,謝謝!

+0

我認爲你的問題很簡單,你混了'''和'「'。 – SOFe 2017-07-09 07:05:53

回答

35

此前的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'}); 
+0

感謝的人,認識到! – kinsey 2011-05-25 21:29:26

+0

精神+1:我沒有投票權。 – 2011-05-25 21:31:44

7

報價搞砸:

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

上述情況,它不再起作用如上所述(,雖然它也可能只是我的代碼)。單引號混淆了代碼。下面的代碼工作

在jQuery 3.2.1以後

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