Jquery 基于元素高度的AddClass
我不明白这为什么不起作用。我基本上是在尝试向任何.panel主体添加一个类(.scroll),如果它高于320px。否则,不要将.scroll类添加到.panel主体中 我做错了什么 我提供了一个JSFIDLE:Jquery 基于元素高度的AddClass,jquery,height,addclass,Jquery,Height,Addclass,我不明白这为什么不起作用。我基本上是在尝试向任何.panel主体添加一个类(.scroll),如果它高于320px。否则,不要将.scroll类添加到.panel主体中 我做错了什么 我提供了一个JSFIDLE: var maxHeight = 320; var panelBody = $(this).('.panel-body'); var panelBodyHeight = panelBody.height(); if ( maxHeight < panelBodyHeight )
var maxHeight = 320;
var panelBody = $(this).('.panel-body');
var panelBodyHeight = panelBody.height();
if ( maxHeight < panelBodyHeight ) {
panelBody.addClass('scroll');
}
else {
panelBody.removeClass('scroll');
}
var maxHeight=320;
var panelBody=$(this)。(“.panel body”);
var panelBodyHeight=panelBody.height();
如果(最大高度<面板车身高度){
panelBody.addClass('scroll');
}
否则{
panelBody.removeClass('scroll');
}
这是你出错的地方:
var panelBody = $(this).('.panel-body');
应该是:
var panelBody = $('.panel-body');
此外,如果(panelBodyHeight>maxHeight),则比较应该是。谢谢@Pete告诉我这些
&这是您出错的地方:
var panelBody = $(this).('.panel-body');
应该是:
var panelBody = $('.panel-body');
此外,如果(panelBodyHeight>maxHeight)
,则比较应该是。谢谢@Pete告诉我这些
&您需要在每个循环中这样做:
$('.panel-body').each(function() {
panel = $(this);
if (panel.outerHeight() > maxHeight) {
panel.addClass('scroll');
} else {
panel.removeClass('scroll');
}
})
或者您可以使用过滤器:
$('.panel-body').filter(function() {
return $(this).outerHeight() > maxHeight;
}).addClass('scroll');
您需要在每个循环中这样做:
$('.panel-body').each(function() {
panel = $(this);
if (panel.outerHeight() > maxHeight) {
panel.addClass('scroll');
} else {
panel.removeClass('scroll');
}
})
或者您可以使用过滤器:
$('.panel-body').filter(function() {
return $(this).outerHeight() > maxHeight;
}).addClass('scroll');
我以前就试过了。该解决方案对我仍然不起作用。这是错误的,您还将scroll
类添加到不大于最大值的元素中-height@Pete我没注意到。我已经更新了。。顺便说一句,谢谢你,我以前也试过。该解决方案对我仍然不起作用。这是错误的,您还将scroll
类添加到不大于最大值的元素中-height@Pete我没注意到。我已经更新了。。谢谢你way@JosephSjoblom别忘了把答案标为正确答案one@JosephSjoblom别忘了把答案标为正确答案