[英]jQuery Hide using ID
我正在尝试使用带有jquery的id改变图像的边框颜色(照片['id']从前一个函数传入)照片的ID是'photo239839'的形式
$('#photo'+photo['id']+'').click(function(){
$('#photo'+photo['id']+'').css('border-color','#777');
});
当我尝试使用它的类使用相同的代码时它可以工作,但我不能使用这个方法,因为在同一页面上有多个图像具有相同的类
$('img.flickr_photo').click(function() {
$("this.flickr_photo").css('border-color','#777');
});
这是你需要做的:
$('img.flickr_photo').click(function(){
$(this).css('border-color','#777');
});
我总是会添加一个css类而不是内联样式。 更具可维护性和可扩展性。
例:
$('img.flickr_photo').click(function(){
$(this).addClass('greyishBorder');
});
设置点击处理程序后,照片['id']错误或正在更改。
要测试第一种情况,您可以使用jQuery选择的长度警告(或使用FireBug的console.log,或其他):
alert($('#photo'+photo['id']).length);
第二种情况的解决方案是使用'this'。 在单击处理程序中,“this”设置为导致click事件的元素。
$('#photo'+photo['id']).click(function(){
$(this).css('border-color','#777');
});
编辑: @Dreas Grech是正确的,只要您想将行为应用于flickr_photo类的所有元素。 如果您可以推广选择器以使用单个查询选择所有元素,那么最好这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.