2013-03-22 137 views
0

所以我知道我正在以這種錯誤的方式去做,但我被卡住了,所以我想你們可以幫我解決問題。所以這個想法是我有兩個容器。其中一個只適用於低於某個特定高度的內容,另一個適用於高於特定高度的內容。所以這裏是一個不會工作給你一個基本的想法碼的基本素描:根據內容高度追加內容

$('#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

回答

0

我認爲你只是讓自己比你需要的更難一些,因爲.height() in jQuery會給你計算出你想要的任何元素的高度。

然後,當您正在處理項目時,可以對要排序的元素使用.height(),如果大於某個高度,則將其附加到一個框中,如果不是,則將其附加到另一個框中。

+0

我輸入了寬度,但我打算輸入高度。那麼爲什麼它不適合我,如果我一般都有我以上的東西,如果這是唯一需要改變的東西,因爲它只是一個錯字? – 2013-03-22 19:18:22

+0

好吧,試着用一件東西開始 - 殺死each()函數,然後在單個盒子上運行if。另外,嘗試打印/記錄height()函數的結果,就好像相關項目未加載或不可見一樣,它可能不會報告您認爲應該的高度。如果它報告0高度,你認爲它不應該,它會這樣做,如果沒有加載,並且解決方案在這裏:http://stackoverflow.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

0
$(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/