• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:DHTML, テーブルの幅を伸ばすには?)

DHTMLでテーブルの幅を伸ばす方法

このQ&Aのポイント
  • DHTMLを使用してテーブルの幅を伸ばす方法について解説します。
  • 質問者は、DHTMLを使ったテーブルの幅を伸ばす方法について質問しています。質問者は、コードを記載していますが、IE6でエラーが発生しています。
  • 質問者は、テーブルの幅を伸ばすための関数の修正方法を尋ねています。質問者は、数字をそのまま入れる場合は正常に動作することを確認しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

setWidth()の1行目 var cur = calc.style.width.substring(0,3); が初期値を0ではなく""(空)を返していますね。 これをもとにsetWidth2(pixel)を実行しているので 数字以外のpixelが悪さをしているのでしょう 用件としてはpixelが数値だと評価をして実行すればよいので function setWidth2(pixel) { if(typeof pixel=="number") calc.style.width = pixel; } とするとよいでしょう。 もちろんsetWidthで空データを0と置き換える処理をいれても結構です。 蛇足ですが、idで指定されたcalcオブジェクトを暗黙で処理して いますが、calc=document.getElementById('calc')などと 明示してやった方がよくないですか?

yasu182
質問者

お礼

ありがとうございます!! うまくいきました^^ calc.style.width はそのオブジェクトの幅を返すと思ってたのですが、 一度設定した後でないと空っぽだったんですね。 結局、onload に function setSize() {  setWidth2(w); } を入れることで直せました。 getElementById を使った方が後で解り易そうですね。 ちなみに、もう御存知かもしれませんが こちらの資料は役に立つので参考にしてみてください。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/jpisdk/dhtml/references/dhtmlrefs.asp

関連するQ&A