我有几个具有相同类的图像,并且想要设置一个单击功能,根据单击的图像更改某些元素中的文本。 我的if语句不起作用,我不完全确定为什么,因为我之前使用过这种方法,或者我认为是这样。
$('.gallery_image').click(function(e) {
var t = $(this);
if(t.id == 'csf') {
console.log('It works!');
}
});
答案 0 :(得分:6)
使用t.attr('id')
代替t.id
答案 1 :(得分:0)
另一种解决方案是使用类而不是id。调用它们共享的类上的click函数,然后使用第二个类将它们与hasClass函数区分开来:
<div id="csf" class="gallery_image csf">csf</div>
<div id="csi" class="gallery_image csi">csi</div>
$('.gallery_image').click(function(e) {
var t = $(this);
if(t.hasClass('csf')) {
alert("It works!");
}
else if(t.hasClass('csi')) {
alert("So does this!");
}
});