根据图像高度添加一个类

时间:2012-09-11 01:04:21

标签: javascript jquery

如果照片的高度超过450像素高,有没有办法让页面上的每张图片都使用“.photo”类并将“.vertical”类应用到它所在的文章中?我这样做的原因是因为我希望高照片不那么宽,所以添加了类.trical来设置文章样式,使文章250px而不是500px的正常宽度......

基本上,如果一张照片的500px版本显示在一个页面上并且500px照片的高度超过450px,它应该通过在该文章中添加类.vertical来调整整个文章的大小。

这听起来令人困惑,但一旦你理解它就不会。我是新手,所以代码很受欢迎,我不知道该怎么做。

5 个答案:

答案 0 :(得分:4)

是的,有。

首先获取图像高度。 How to get image size (height & width) using javascript?

如果高度符合您的要求,请使用.addClass()添加课程。

答案 1 :(得分:0)

尝试:

$('img.photo').each(function(){
    if($(this).height() > 450)
        $(this).closest('article').addClass('vertical');
});

更新以将类添加到父文章。根据需要更改选择器article

答案 2 :(得分:0)

试试这个:

$(".photo").each(function(){
  var el = $(this);
  if (el.height() > 450)
    el.addClass("vertical");
});

答案 3 :(得分:0)

类似的东西:

$(".photo").each(function(i) { 
  if ($(i).height() >450) {
     $(i).addClass('yourclass');
  }
});

答案 4 :(得分:0)

希望这会让你开始:

$('img.photo').each(function(index) {
    var height = $(this).height();
    if (height > 450) {
        $(this).parent().addClass('vertical');
    }
});

编辑:

关于将.vertical类添加到包含图像的文章,这取决于您的标记。 @anonymous通过找到与.article类最接近的元素有一个可能的想法。如果直接父级是包含图像的文章,您也可以在我上面编辑的代码中使用父级。