2016-02-13 46 views
0

我想設置一個特定的css類點擊一些圖像。jquery:只選擇一個類onclick - 並非全部

這裏是我的代碼:

<%= image_tag ('snapchat.png'), class: "img-rounded", id: "icon-hover", width: "50px" %> 
<%= image_tag ('tinder.png'), class: "img-rounded", id: "icon-hover", width: "50px" %> 
<%= image_tag ('tumblr.png'), class: "img-rounded", id: "icon-hover", width: "50px" %> 

而且我的jquery:

$(document).on('click', '.img-rounded', function(){ 
     $('.img-rounded').css({ 
     '-webkit-filter':'grayscale(0%)', 
     'filter':'grayscale(0%)', 
     }); 
    }); 

功能的偉大工程,但問題是,當我點擊一個圖像,它給人的CSS attribtues所有其他圖像。我怎樣才能一次只定位一個元素?

感謝您的幫助。

編輯:我的圖片包父elemnts裏面是這樣的:使用 「這個」 處理程序

<b href="" class="wechat" id="icon-hover" style="text-decoration:none"> 
    <%= image_tag ('wechat.png'), class: "img-rounded", id: "icon-hover", width: "50px" %> 
</b> 

所以,即使它沒有響應:

$(document).on('click', '.img-rounded', function(){ 
     $(this).css({ 
     '-webkit-filter':'grayscale(0%)', 
     'filter':'grayscale(0%)', 
     }); 
    }); 
+2

使用'$(this)'內部處理程序。 ''('。img-rounded').css({'==>'$(this).css({'。我建議您使用CSS類並使用'.addClass('我試過更新jquery,但它不起作用 – Tushar

回答

1
$(document).on('click', '.img-rounded', function(){ 
     $(this).css({ 
     '-webkit-filter':'grayscale(0%)', 
     'filter':'grayscale(0%)', 
     }); 
    }); 
+0

謝謝!!當圖像沒有包含在父元素中時它工作的很好我編輯我的問題,你有什麼想法嗎? img.img-rounded).on('click',function(){(this).css({'webkit-filter':'灰度(0%)', 'filter':'灰度( 0%)', }); });你可以嘗試使用限制性選擇器 – zacchj

+0

$('className)'方法。 –

+0

你可以提供一個小提琴問題嗎? –

1
$(this).css({ 
    '-webkit-filter':'grayscale(0%)', 
    'filter':'grayscale(0%)', 
}); 

這意味着您將當前對象分配給名爲$ this的變量。它不是關鍵字。