如果容器元素的内容高于容器元素,则将类添加到容器中

时间:2013-12-20 04:23:18

标签: javascript jquery

由于我手中没有出色的设计,这个特定网站上的许多元素都有固定的高度。因此,当它们高于固定高度时,这些元素内部的内容会被切断。所以基本上我想在页面上的所有固定高度容器元素中添加一个'expandable'类,如果里面的内容被切断,因为它比容器高。只是想看看我是否正确这样做。谢谢你的帮助。

feature = $('.feature-block');

feature.each(function() {
  containerHeight = $(this).outerHeight();
  containerChildren = $(this).children();

  containerChildren.each(function() {
    childrenHeight = $(this).outerHeight();

    if(childrenHeight > containerHeight) {
        $(this).closest(feature).addClass('expandable');
    }
  });
});

1 个答案:

答案 0 :(得分:1)

你需要总结儿童身高:

feature.each(function() {
  var containerHeight = $(this).outerHeight(),
      containerChildren = $(this).children(),
      childrenHeight = 0;

  containerChildren.each(function() {
    childrenHeight += $(this).outerHeight();
  });

  if(childrenHeight > containerHeight) {
     $(this).closest(feature).addClass('expandable');
  }
});