<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<script>
function f()
{
alert(document.getElementById("alpha").clientWidth);}</script>
<style type=text/css></style>
</head>
<body onload=f();><div id=alpha >BCD</div></body>
</html>
我想得到上述div的实际宽度,也就是bcd这几个字符的宽度,很奇怪用上面的代码得到的好像整行的宽度

解决方案 »

  1.   

    我找了个折衷的办法就是在里面加了个span层,然后用span层的offsetWidth,不知道为什么span层的clientWidth是0
      

  2.   

    div 是 块元素 默认 就占一排把 div 换成内联元素 就可以了
      

  3.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
    <title>Insert title here</title>
    <script type="text/javascript">
    window.onload = function() {
    alert(document.getElementById("test").offsetWidth);
    alert(document.getElementById("test2").offsetWidth);
    }
    </script>
    </head>
    <body>
        <span id="test">1243</span>
        <div id="test2" style="display:inline">1234</div>
    </body>
    </html>
      

  4.   

    div是行级元素,不是包着你的字。span是可以包着你的字的。div+inline=span