2011-12-15 94 views
3

我有元素有杂项高度。根据第一个块,我需要为其他元素添加一些margin-top。我被用于jQuery高度属性的这个动作,但它不起作用。你可以帮我吗?使用jQuery添加基于其他元素高度的顶部边距

这是我的代码:

$(document).ready(function(){ 
    if ($('.post_discussion_header').height(79) + 'px'){ 
     $('.no_0').css('margin-top','110px'); 
     } 
    }); 
}); 

TIA。

+0

您的if语句错了,您想要验证的是什么? – 2011-12-15 08:32:17

回答

2

你如果说法是错误的,应该是

if ($('.post_discussion_header').height() == 79){ 

但是你可以考虑使用偏移高度返回元素的高度,包括边框和填充,如果有,但不是利润https://developer.mozilla.org/en/DOM/element.offsetHeight

if (parseInt($('.post_discussion_header')[0].offsetHeight,10) == 79){ 

编辑:加入parseInt函数以 “79px” 转换为79用于比较http://www.w3schools.com/jsref/jsref_parseInt.asp

你也有一个太多});在你的代码中。第5行应该是}

+0

是的,它的工作,很多thx,我是你的债务人:) – Lukas 2011-12-15 08:55:05

0

$('.post_discussion_header').height(79)将高度.post_discussion_header设置为79,并返回.post_discussion_header。然后您将该头与“px”连接起来。您的代码将评估为类似

if('[object Object]px') { 
    ... 
} 

显然,这不是您的意图。问题是,你的意图是什么?你想检查什么条件?

您的代码中还有太多太多的});

+0

我有.post_discussion_header女巫没有选定的高度。这个属性在我的标题有一两行时设置。如果它有一行少于79px,并且它溢出到.no_0 bcs .post_discussion_header设置显示在固定... :( – Lukas 2011-12-15 08:43:43

0

尝试使用.css("height")这应该为你做!
但是不要忘记,如果您尝试将高度添加到div元素的实际高度,jQuery.css(“height”)将返回“23px”,因此您必须先删除“px”,然后才能添加某个整数值。

2
 

$(document).ready(function(){ 
    if ($('.post_discussion_header').height() == 79) { 
     $('.no_0').css('margin-top','110px'); 
    } 
}); 
 
相关问题