2012-02-02 5 views
2

3つの列を持つ表があります。私はタグの列の幅を指定するために使用しています。サンプルコード:<col> IEとChromeの場合、widthは0を返します。

<table width="100%" border="1"> 
    <colgroup style="background-color:#FF0000;"> 
    <col width="100px" id="id1"></col> 
    <col width="80px" id="id2"></col><col id="id3"></col></colgroup> 
    <tbody> 
    <tr> 
    <th>ISBN</th> 
    <th>Title</th> 
    <th>Price</th> 
    </tr> 
    <tr> 
    <td>3476896</td> 
    <td>My first HTML</td> 
    <td>$53</td> 
    </tr> 
    <tr> 
    <td>2489604</td> 
    <td>My first CSS</td> 
    <td>$47</td> 
    </tr> 
<tbody> 
</table> 

問題は、COLの幅でIEとChromeの場合は0を返し、それがFFで正常に動作します($( "#のID1")の幅()。)。 クロムとIEの実際の幅をどのように取得できますか?

+0

をFFとクローム。それは正常に動作しています。ここにjsfiddleがあります。 http://jsfiddle.net/nXVYx/ – Pavan

+0

jquery-1.5.2.min.jsでは動作しません。 jqueryのバージョンを1.5.2に変更すると、フィドルでは機能しません。 – Sandy

+0

私はそれを再現できませんでした。私はFF 10でJQuery 1.5.2でテストしましたが、それは完全に働いた – Pavan

答えて

0

古いjQueryのための簡単なハック(COLは、Chromeの幅を持っていないが、それは幅の最初のセルを持っている)

<table width="100%" border="1"> 
    <colgroup style="background-color:#FF0000;"> 
    <col width="100px"></col> 
    <col width="80px"></col><col id="id3"></col></colgroup> 
    <tbody> 
    <tr> 
    <th id="id1">ISBN</th> 
    <th id="id2">Title</th> 
    <th>Price</th> 
    </tr> 
    <tr> 
    <td>3476896</td> 
    <td>My first HTML</td> 
    <td>$53</td> 
    </tr> 
    <tr> 
    <td>2489604</td> 
    <td>My first CSS</td> 
    <td>$47</td> 
    </tr> 
<tbody> 
</table> 

ここにいます - 、私はIE9でコードを確認しているhttp://jsfiddle.net/YD5mM/2/

+0

あなたの返信ありがとうございます。私は自分のコードでこれを試してみます。 – Sandy

+0

計算しようとしている幅の列にtbodyのセルが含まれていない列を使用していますwho's colspan is 1 – mkoryak

関連する問題