2012-03-30 40 views
2

我有什麼有時在ym頁面div可能是空的,它佔用空的空間。 所以我想能夠隱藏它使寬度小,如果它是空的..如何檢查div是否爲空並使其消失?

這是HTML ...

<div class="four columns"> 
     <div class="inner-column" style="height:500px;overflow: auto;">    
      <ul class="SubMenu"> 
      </ul> 
     </div> 
    </div> 

這是我努力...

了jQuery
if ($('.four columns').is(":empty")) { 
      $('.four').css('width','15px'); 
     } 

它應該是什麼?

例如:http://jsfiddle.net/uzi002/yad9Q/6/

+0

你的選擇是錯誤的。它應該是'$('。four.columns')' – rgin 2012-03-30 11:19:53

+0

仍然不起作用 – Beginner 2012-03-30 11:22:48

+0

也許一些更多的代碼或關於你想要做什麼的信息可能會有所幫助。如果'.four.columns'的原始高度爲<15px',則此代碼有效。如果'.four.columns'爲空,則條件返回true。意思是沒有html或文本。 – rgin 2012-03-30 11:25:48

回答

1

檢查text()長度爲零或針對空字符串的問題是它包含所有制表符和空格。所以應用$.trim()的結果(demo):

$(function() { 

    if ($.trim($('.four.columns').text()).length === 0) { 
     $('.four.columns').hide(); 
    } 

});​​​​​​ 

此外,如果要檢查所有的列,使用:

$(function() { 

    /* check all columns */ 
    $('.columns').each(function(){ 
     if ($.trim($(this).text()).length === 0) { 
      $(this).hide(); 
     } 
    }); 

});​​​​​​ 
1

我通常使用的技術是測試文本的長度在div:

if ($('.four.columns').text().length === 0) { 
    $('.four').css('width', '15px'); 
} 
+0

選擇器應該是'.four.columns'。 – 2012-03-30 11:15:18

+0

我剛剛從OP的例子中直接複製它,但你是正確的。更新了答案。 – pete 2012-03-30 11:59:55

0

你可以做

if ($('.four columns').text() === '') { 
     $('.four colums').hide(); 
    } 

if ($('.four columns').html() === '') { 
     $('.four colums').hide(); 
    } 
+0

選擇器應該是'.four.columns'。 – 2012-03-30 11:15:55

+0

,即使頁面加載子菜單 – Beginner 2012-03-30 11:18:37

0

您可以使高度爲0或隱藏:

if($(".innerColumn").text() == ""){ 
    $(".innerColumn").css("height",0); or $(".innerColumn").hide() 
} 
0

首先你不能sparate班級,空間

<div class="four columns"> 

現在這2個班被稱爲「四」和「列」這樣的類不叫四欄。

我應該選擇lenght函數來檢查它是否爲空。

if ($('.columns .inner-column').html().length === 0){ 
    $(".columns .inner-column").hide() 
} 

隱藏功能隱藏整個元素。它在源代碼中,但對客戶端不可見。

請問爲什麼要解決這個問題客戶端?我認爲更聰明的辦法是檢查服務器端內容是否爲空,然後不生成映像。

+0

有鏈接,它使它更小,左側的菜單被創建,其中有子頁面,如果沒有子頁面,那麼左側是空的,但有空的空間 – Beginner 2012-03-30 11:24:11

+0

也我嘗試上述,但仍然沒有工作,是的,我知道有兩個類適用於該div – Beginner 2012-03-30 11:25:10

+0

我想你想檢查ul是否爲空。它無能爲力,你選擇了正確的選擇器。 __。inner-colum__不是空的,因爲裏面有ul。 ul是空的,所以你想檢查一下。這工作:http://jsfiddle.net/yad9Q/19/ – 2012-03-30 12:39:09