你在字的外面加一个<span>就可以用span的宽度来得到字的宽度了,直接的好像不能得到。

解决方案 »

  1.   

    <table width=500>
    <tr>
    <td
    <div id="divID">abcd</div>
    </td>
    </tr>
    </table>//JavaScript:
    var length = document.getElementById("divID").innerHTML.length;
      

  2.   

    <Script language="JavaScript" type="text/javascript">
    <!--function Width(){
     var table=document.getElementsByTagName("TABLE")[0];
     alert(table.childNodes[0].childNodes[0].childNodes[0].innerText.length);
    }
    window.onload=Width;
    //-->
    </Script><table width=500>
    <tr width=400>
    <td>
    abcd
    </td>
    </tr>
    </table>
      

  3.   

    <Script language="JavaScript" type="text/javascript">
    <!--function Width(){
     var table=document.getElementsByTagName("TABLE")[0];
     alert(table.rows[0].cells[0].innerText.length);
    }
    window.onload=Width;
    //-->
    </Script><table width=500>
    <tr width=400>
    <td>
    abcd
    </td>
    </tr>
    </table>
      

  4.   

    结果得到5是因为<td>和abcd之间有换行符。。如果你改成<td>abcd</td>就是4了
      

  5.   

    to PaulLeder()
      谢谢你的回答,不过我说的是abcd所占的几何尺寸,不是abcd的字符长度。
      

  6.   

    那个得靠实际情况决定吧。比如你的padding还有border等因素决定,而且不同的浏览器考虑的也不同,所以觉得还是复杂的
    你说的集合尺寸:
    假如是IE:td.width-padding-margin
    而firefox:就是td.width的宽度,所以在firefox下你说要abcd的集合尺寸就是td.width,或者等于字段的长度了。