条件中的jQuery height()以某种方式冲突

条件中的jQuery height()以某种方式冲突,jquery,height,alert,Jquery,Height,Alert,我有问题,我的条件,检查是否有一些元素高于29。这是我的代码: jQuery('.somepath a span.lines').each(function() { var spanHeight = jQuery(this).height(); alert(spanHeight); if(spanHeight > 29) { alert('test'); } }); 警报:22,22,22,22,44,测试(这样可以正常工作) 当我删除

我有问题,我的条件,检查是否有一些元素高于29。这是我的代码:

jQuery('.somepath a span.lines').each(function() {
    var spanHeight = jQuery(this).height();
    alert(spanHeight);
    if(spanHeight > 29) {
        alert('test');  
    }
});
警报:22,22,22,22,44,测试(这样可以正常工作)

当我删除第一个alert()时,它不再工作,所以alert('test');不再执行:

jQuery('.somepath a span.lines').each(function() {
    var spanHeight = jQuery(this).height();
    if(spanHeight > 29) {
        alert('test');  
    }
});
我不明白这里出了什么问题。。我试了很多东西,但都没成功


有人看到或知道这个问题吗?parseInt()也不是解决方案。

使span
显示:内联块它将工作-

asdf-sd-fsda​
$('span.lines')。每个(函数(){
var spanHeight=$(this).height();
如果(跨度高度>29){
警报(“测试”);
}
});​

你能用一些html制作一个简单的JSFIDLE来告诉我们发生了什么吗?不要使用alert进行调试,用
console.log()试试。
也许你的第一个代码示例正受益于每个
alert()所造成的延迟。如果看不到更多的代码,就不可能确切地知道或者如何知道。@blazemonger这是可能的。。但这是我的应用程序中最后一行Javascript,所以我无法想象,但我现在将检查…@tkone此代码是一个大型应用程序的一部分。当我删除具有固定高度的
style
属性并显示内联块时,我将首先检查BlazeMonger的注释,因为它仍在工作,所以这不是正确的解决方案。@ArekvanSchayk删除样式属性时它不起作用-@ArekvanSchayk事实上,如果删除display:inline块属性,它就不起作用
<span class="lines" style="height: 30px; display: inline-block;">asdf sd fsda</span>​

$('span.lines').each(function() {
    var spanHeight = $(this).height();
    if(spanHeight > 29) {
        alert('test');  
    }
});​