2012-03-09 75 views
0

我使用jquery動態設置tr的高度。該代碼在document.ready上運行。 我調試了代碼,看到要設置的高度正確(493),但是當我將它分配給tr時,它仍然顯示3193,而當我看到$(this)[0].style.height時,它顯示493px。我很困惑,怎麼會有所不同。Jquery this.height工作不正常

碼 -

$(document).ready(function() { 
    var heightToSet = $(window).height(); 
    $('#tr1').height(heightToSet); 
}); 

注意的是,在表格元素都大,並且由於這一點,沒有滾動條。

+3

你期望'this'解決了什麼(你實際設置的元素的高度)? – 2012-03-09 19:43:28

+0

這是所有與這個問題有關的代碼嗎? – 2012-03-09 19:44:49

+0

它的一個tr。修改了發佈的代碼 – Ankit 2012-03-09 19:45:38

回答

5

this指的是代碼中的document元素。您可能需要設置body元素的高度或body元素的後代。

看看你的控制檯此的jsfiddle,你會看到什麼this是在你的事件處理程序:http://jsfiddle.net/qwk6x/

更新

可以更改TD元素的CSS在你的表不顯示溢出。目前,您設置一個高度,但因爲該元素的含量使其遠大於設定高度它被忽略:

CSS -

td { 
    display  : block; 
    overflow : hidden; 
    white-space : nowrap; 
}​ 

JS -

$(function() { 
    $('#tr1').children().height($(window).height()); 
});​ 

這裏的演示:http://jsfiddle.net/qwk6x/3/

+0

沒有它的一個tr。修改代碼 – Ankit 2012-03-09 19:45:26

+1

正確,但_this_指的是文件,而不是窗口/正文/元素等,你真的想改變的高度 – thescientist 2012-03-09 19:47:23

+0

@Ankit任何機會,你可以張貼鏈接到頁面,展示這種行爲? – Jasper 2012-03-09 19:50:30