2012-03-22 64 views
1

如何查找元素的宽度?查找元素的宽度,而不是最大值

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

我试图这些选项: element.offSetWidth,element.style.width,通过Dom.getRegion &拉宽度创建的区域..

然而,所有上述选项返回100px的作为宽度。

任何非jQuery的解决方案,请吗?

-Vidi

+0

尝试'offsetWidth'以小写's',而不是'offSetWidth' – Paulpro 2012-03-22 00:21:50

回答

5

offsetWidth真的应该工作。 Proof。尝试调整“结果”窗口的大小,然后您会看到大小更新为div

document.getElementById("id").offsetWidth; 

请确保您使用offsetWidth,不offSetWidth(注意大小写)。

+1

@vidi,不是问题!如果这个答案对你有帮助,你会介意接受吗? (点击这个答案复选标记的大纲。)谢谢! – benesch 2012-03-22 01:31:23

0

的document.getElementById(ID_OF_ELEMENT).offsetWidth应该工作

0

document.getElementById("id").clientWidth应该工作

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> 
相关问题