2012-01-24 38 views
-2

可能重複:
hide row if it contains empty columns隱藏錶行,如果其中一列是空的使用CSS

可以包含在此表中的空單元格的行使用CSS來隱藏..我有試過jQuery和它現在不工作.. 這是我用過的,它什麼都不做!

$('.EventDetail tr').each(function(){  
    if ($('td:empty',this).length > 0)) 
    $(this).hide(); 
}); 

這段jQuery沒有什麼錯,是嗎?我想看看我們能否爲所選行做display:none?使用CSS可以實現嗎?

<table cellpadding="10" class ="EventDetail"> 
    <tr> 
     <td class="TableFields"><em>Who Should Enroll?:</em></td> 
     <td>Everyone 18 and older who would like to attend</td> 
    </tr>  
    <tr> 
     <td class="TableFields"><em>Handicapped Access:</em></td> 
     <td>Yes</td> 
    </tr> 
    <tr> 
     <td class="TableFields"><em>Parking Notes:</em></td> 
     <td></td> 
    </tr> 
    <tr> 
     <td class="TableFields"><em>Instructor:</em></td> 
     <td>John Filler</td> 
    </tr> 
</table> 
+2

已標記。你問了同樣的問題4小時前... http://stackoverflow.com/questions/8978812 –

+0

我已經投票關閉這個作爲重複。如果你只想在CSS中這樣做,那你爲什麼用jQuery和JavaScript標記問題?爲什麼包含jQuery代碼示例?你應該改寫整個問題來說「是否可以用_just_css隱藏這些行」。 – nnnnnn

+0

你開始不是諷刺,因爲乞丐不能選擇。然後編輯你的問題來改進它,並通過評論系統來獲得額外的幫助。 – mrtsherman

回答

5

這個選擇應該去做......

$('.EventDetail tr:has(td:empty)').hide(); 

jsFiddle

:empty選擇查找與沒有子節點元素。如果可能的話,你可能有空白在那裏,但你仍然認爲這是空的,嘗試的東西,如...

$('.EventDetail tr').filter(function() { 
    return $(this).find('td').filter(function() { 
     return ! $.trim($(this).text()); 
    }).length; 
}).hide(); 

jsFiddle

+1

謝謝亞歷克斯,這做了魔術,空白殺死了我。我感謝所有讓我朝着正確方向發展的社區成員! –