Jquery addClass只适用于具有更高级别的div

时间:2015-04-29 13:02:24

标签: javascript jquery css

var n = $('.class');
var height = n.height();
if (height > 200)
    n.addClass('padding');
    });

上面的代码导致这个类的所有div都得到填充,包括这些不高于200的div,但是我只需要在元素上添加填充,这些元素实际上大于200.其余的必须保持不填充。谁知道我怎么能得到它?

2 个答案:

答案 0 :(得分:4)

使用.filter仅选择具有所需高度的元素:

$(".class").filter(function() {
    return $(this).height() > 200;
}).addClass("padding");

在您的代码中,n.height()只返回所选第一个元素的高度,它不会更改n调用中n.addClass()引用的内容。

答案 1 :(得分:1)

使用each()函数迭代.class元素并检查每个高度。

然后将.padding课程应用于身高高于200px的人:

$('.class').each(function() {
  var that = $(this);
  if (that.height() > 200) {
     that.addClass('padding');
  }
});