2012-03-09 1 views
0

jqueryを使用してtrの高さを動的に設定しています。コードはdocument.readyで実行されます。 コードをデバッグして、設定する高さが適切になっていることを確認しましたが、trに割り当てたときにはまだ3193が表示されていますが、$(this)[0].style.heightと表示されているときは493pxと表示されます。私はそれがどう違うのか混乱しています。Jquery this.height not properly正しく

コード -

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

注テーブルの要素がこれに大きなとによるものであることを、何のスクロールバーがありません。

+3

「これは何を解決しようとしていますか」(どの要素の高さを実際に設定しようとしていますか) –

+0

これはこの質問に関連するすべてのコードですか? –

+0

そのtr。投稿されたコードを変更しました – Ankit

答えて

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

+1

のコードを修正しましたが、_this_はドキュメントを参照しています。実際には高さを変更したいウィンドウ/ボディ/エレメントなどはありません。 – thescientist

+0

@Ankitこの動作を示すページへのリンクを投稿することができます? – Jasper