使用JQuery在图像上创建类

时间:2014-08-20 21:24:56

标签: javascript jquery

现在我正在尝试使用以下代码在图像中添加一个类:

  $('.gallery img').each(function() {
    if ($(this).width() > $(this).height()) {
      $(this).addClass('landscape');        
    }
  });

代码工作了一些次,但有时候没有添加类,因此我没有应用我的样式。我曾尝试使用和不使用$(document).ready函数,并将其放在图像旁边而不是代码的末尾,但没有任何东西一直将类添加到横向图像中。我不知道还有什么可以尝试的。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

还要收听加载事件,因为某些图像可能未加载(因此未知宽度/高度):

// Put this in your $(document).ready
function handleImage($image) {
  if ($image.width() > $image.height()) {
    $image.addClass('landscape');        
  }
}
$('.gallery img').each(function() {
  handleImage($(this));
}).load(function() {
  handleImage($(this));
});

请注意,如果您事先知道尺寸,建议在图片标签上添加widthheight属性。添加这些属性将无需使用onload处理程序。