更改表格行高

时间:2011-12-21 02:54:37

标签: javascript jquery css jquery-selectors

我正在尝试将属于特定类的表的行高更改为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>的显示样式设置为无?

4 个答案:

答案 0 :(得分:5)

使用css功能:

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

如果您想要将它们从视线中移除,您还可以设置display: none

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

您也可以完全删除它们:

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

但是,如果您不需要动态隐藏它们,那么您应该只使用CSS:

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

答案 1 :(得分:1)

高度是一个css属性,因此您可以使用css函数

进行设置
$('.hide').css("height", "0");

请注意,您也可以使用

隐藏它
$('.hide').css("display", "none");

答案 2 :(得分: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)中并隐藏它。

答案 3 :(得分:0)

试试这个:$('.hide').height(0);