查找元素的宽度,而不是maxwidth

时间:2012-03-22 00:13:39

标签: javascript width css

如何找到元素的宽度?

我的maxwidth设置为100px&amp;宽度设置为“自动”。我试图动态找到它的确切宽度,可能<100px。

我试过这些选项: element.offSetWidth,element.style.width,通过Dom.getRegion&amp;创建了一个区域。拉宽..

但是,以上所有选项都返回100px作为宽度。

请问任何基于非jquery的解决方案吗?

-Vidi

4 个答案:

答案 0 :(得分:5)

offsetWidth确实应该有效。 Proof。尝试调整“结果”窗口的大小,您将看到div更新的大小。

document.getElementById("id").offsetWidth;

请务必使用offsetWidth,而不是offSetWidth(请注意大小写)。

答案 1 :(得分:0)

document.getElementById(ID_OF_ELEMENT).offsetWidth应该可以工作

答案 2 :(得分:0)

document.getElementById("id").clientWidth应该有效

答案 3 :(得分:0)

添加浮动或使其内联

<style type="text/css">
        #test_max_width{
            max-width : 100px;
            float:left;
        }
    </style>
    <div id="test_max_width">s</div>
    <input type="button" value="more" id="addcontent"/>
    <script type="text/javascript">
        var output = document.getElementById( "test_max_width" );
        document.getElementById( "addcontent" ).onclick= function  (  ) {
            output.innerHTML += output.innerHTML;
            console.log ( output.offsetWidth );
        };
    </script>