2009-04-30 38 views
3

javascriptに問題があります。
私はTabListに格納されているテーブルセルのリストを持っています。
最大幅を見つけて、その幅をすべてに設定します。
サンプルコードはここにありますが、幅の設定が機能していません。
私は私の試みをコメントしている JavaScriptから表の列の幅を変更する方法

var MaxTabWidth = 0; 
for (var i = 0; i < TabList.length-1; i++) 
{ 
    if (TabList[i].offsetWidth>MaxTabWidth) 
    MaxTabWidth = TabList[i].offsetWidth; 
} 

for (var i = 0; i < TabList.length-1; i++) 
{ 
    TabList[i].style.width = MaxTabWidth+"px"; 
    // TabList[i].width = MaxTabWidth+"px"; 
    // TabList[i].offsetWidth = MaxTabWidth+"px"; 
} 

...
任意のヘルプ?私はクラス名をチェックしていたので、TabListは、セルのリストであると確信して

This は...私のため

更新をトリックをしませんでした。
TabList.length-1までループしています。なぜなら、最後のセルが残りのテーブルの幅を埋めるようにしたいからです。

答えて

4

すべてのCSS /スタイリングをページから削除し、問題を特定するためにテストすることをお勧めします。このようなことは、しばしばCSSによって複雑になります。

+0

私はすでにこれを答えとして書いていました:) – Stavros

1

表全体の幅を--i * MaxTabWidthに設定すると、それは列を均等に分配するでしょうか?テーブルの名前がmyTableであるとします。

document.getElementById('myTable').width = new String(--i*MaxTabWidth) 

編集:また

for (var i = 0; i < TabList.length-1; i++) 

がTabList.length-2で停止することで、最後の列をスキップないでしょうか?

0

jQueryでは、テーブルのIDが "myTable"の次のスクリプトを使用してこれを行うことができます。フレームワークに追加する環境を十分に管理している場合は、このような作業がはるかに容易になるため、これをお勧めします。

関連する問題