根据内容高度追加内容

问题描述:

所以我知道我正在以这种错误的方式去做,但我被卡住了,所以我想你们可以帮我解决问题。所以这个想法是我有两个容器。其中一个只适用于低于某个特定高度的内容,另一个适用于高于特定高度的内容。所以这里是一个不会工作给你一个基本的想法码的基本素描:根据内容高度追加内容

$('#content').each(function(){ 
if($(this).height()>120){ 
    $('#container2').append('the content'); 
}; 
else{ 
    $('#container').append('the content'); 
}; 
}); 

这里是显示这个结果应该是什么样一个的jsfiddle:http://jsfiddle.net/3TxR9/1/

编辑1: id内容包装了大量内容,这些都是不同的,这就是为什么我想为不同高度使用不同容器的原因。因此,“内容”将是id内容中的特定内容,这样每个内容都会被评估,因此它会转到正确的容器中。而我链接的jsfiddle不是正确的编码,它只是显示当应用正确的jquery时会发生什么

+3

'$( '#内容'),每个(函数(){'没有任何意义,除非你有一个以上的元素id为'content'这是严格禁止的。 – 2013-03-22 19:07:26

+2

你为什么要用分号隔开你的if/else语句呢?这会破坏任何东西,看看你的jsFiddle会显示多个id =“content”的实例......你想要class =“content” ,因为'id'是一个独特的属性 – PlantTheIdea 2013-03-22 19:07:51

+0

什么应该是你为每个元素添加的内容'#content'? – 2013-03-22 19:10:22

我认为你只是让自己比你需要的更难一些,因为.height() in jQuery会给你计算出你想要的任何元素的高度。

然后,当您正在处理项目时,可以对要排序的元素使用.height(),如果大于某个高度,则将其附加到一个框中,如果不是,则将其附加到另一个框中。

+0

我输入了宽度,但我打算输入高度。那么为什么它不适合我,如果我一般都有我以上的东西,如果这是唯一需要改变的东西,因为它只是一个错字? – 2013-03-22 19:18:22

+0

好吧,试着用一件东西开始 - 杀死each()函数,然后在单个盒子上运行if。另外,尝试打印/记录height()函数的结果,就好像相关项目未加载或不可见一样,它可能不会报告您认为应该的高度。如果它报告0高度,你认为它不应该,它会这样做,如果没有加载,并且解决方案在这里:http://*.com/questions/3761061/get-height-of-image-inside -a-hidden-div – BrianHall 2013-03-22 19:21:56

+0

嘿所以一切工作正常,但你说的问题可能会发生,并提供的解决方案并没有结束工作 – 2013-03-23 01:45:55

$(document).ready(function(){ 
    $(".content").each(function(){ 
     if($(this).height() > 100) 
     { 
      $(this).appendTo("#container"); 
      $(this).show(); 
     } else { 
      $(this).appendTo("#container2"); 
      $(this).show(); 
     } 
    }); 
}); 

演示:http://jsfiddle.net/calder12/3TxR9/4/