2011-12-21 152 views
2

我想屬於特定類表的行高度更改爲0。更改表格的行高

目前,我這樣做:

$("#table_rolecart tbody").append('<tr class='hide'><td>Start Date: <input type="text" value="" id="ar_startdate"></td><td>End Date: <input type="text" value="" id="ar_enddate"></td></tr>'); 
$('.hide').height = "0" 

它仍然不是零,怎麼辦我將這個高度設置爲0,或者將這些<tr> s的顯示風格設置爲none?

+1

如何使用CSS與'.hide {display:none; }'? – tvanfosson 2011-12-21 03:00:00

回答

5

使用css功能:

$('.hide').css('height', '0'); 

如果你想從視線中刪除它們,你還可以設置display: none

$('.hide').css('display', 'none'); 

您也可以完全刪除它們:

$('.hide').remove(); 

如果您不需要動態隱藏起來,但是,您應該只使用CSS:

.hide { 
    height: 0; 
    /* or display: none */ 
} 
1

身高是一個CSS屬性,這樣你就可以用CSS功能設置

$('.hide').css("height", "0"); 

請注意,您還可以

$('.hide').css("display", "none"); 
0

隱藏試試這個:$('.hide').height(0);

1

以下任一技術都會將行的高度設置爲0:

$(".hide").height(0); 
$(".hide").css("height", 0); 

但表格很棘手,並將高度設置爲0不會導致行隱藏。隱藏的行最簡單的方法是使用以下兩種方法:

$(".hide").hide(); 
$(".hide").css("display", "none"); 

但是,如果你想隱藏使用高度的行(無論何種原因),還設置了line-height爲0。然後,在子單元,將padding設置爲0(也可能是border)並將overflow設置爲hidden

$(".hide").css({ 
    height: 0, 
    lineHeight: 0 
}); 
$(".hide > *").css({ 
    padding: 0, 
    overflow: "hidden" 
}); 

但是,在你的情況下,即使這不起作用,因爲輸入控件仍然顯示。您必須將單元格內容包裝在一個容器(如div)中並將其隱藏。

+0

只需要做最後一件事情,我如何僅爲前兩行創建高度0。不是當前行 – 2011-12-21 19:50:09

+0

'$(「。hide」)。prev()。prev()。andSelf()。hide()'should do it。或$'(「。hide」)。prev()。hide()。prev()。hide()' – gilly3 2011-12-21 20:26:18

+0

我發現在行中設置vertical-align:middle爲所有TD($(this).find (「td」)。css(「vertical-align」,「middle」);)允許該行在與上述技術結合時爲0高度。不知道爲什麼。 – 2014-09-17 03:00:01