2014-03-12 24 views
0

我有一个tabletd如下:如何使用jQuery设置td的高度?

<td class="fc-day fc-wed fc-widget-content fc-future" data-date="2014-03-26"> 

我想将td的高度设置为144px。我尝试了以下,但它没有奏效。

$('.fc-day').attr('height', 144); 
+0

你刚刚使用'css'? '$('。fc-day').css('height',144 +'px');' – Jack

+3

Works [here](http://jsfiddle.net/3mSnP/) –

+1

在什么浏览器或jQuery版本这不行吗? – Popnoodles

回答

0

$('.fc-day').attr('height', '144px');应该工作。您忘记了PX

+2

我会推荐使用.css()或.height()来代替。 – Popnoodles

+0

的确可能会更好,我只是拿这个男人的代码和说错了。 – Chilion

+0

好的。但它甚至不需要px。 – Popnoodles

4

您可以改为设置<td>的CSS。

$('.fc-day').css('height', '144px'); 
5

使用.attr()方法将设置属性而不是css。你最好使用.height()方法,而不是.attr()或的.css(),因为它会照顾一切,也是最短,最可读的选择方法:

$('.fc-day').height(144); // Pixels are the default 

你可以通过它刺到指定单位:

$('.fc-day').height("144px"); 
$('.fc-day').height("50%"); 

你可以阅读更多关于它在这里: https://api.jquery.com/height/

编辑:)使用过的CSS(在.height()方法的另一个好处是,你不要hav e处理是否为元素设置了框尺寸属性,以及使用该元素时可能出现的跨浏览器支持问题。当使用.height()方法时,它将设置内容高度,而不管为box-sizing属性设置的值和浏览器对它的支持,它更直观。

如果你想直接设置CSS高度(由盒大小属性影响),你可以使用的CSS()方法(如通过stigok在他的回答说明):

$('.fc-day').css('height', '144px'); 

但通常.height()会是你想要的...

+0

我不知道与CSS高度有关的跨浏览器问题。你能否详细说明一下? – sshow

+1

大多数情况下,如果您通过.css()方法设置框的高度,则必须考虑框尺寸属性(在某些浏览器上不支持),如果您使用.height()方法,它会设置内容高度,而不管为box-sizing属性设置的值和浏览器对它的支持情况,它更直观。把它称为跨浏览器的问题可能太笼统了,我会编辑它,谢谢。 – Lior