如何找到元素的宽度?
我的maxwidth设置为100px&amp;宽度设置为“自动”。我试图动态找到它的确切宽度,可能<100px。
我试过这些选项: element.offSetWidth,element.style.width,通过Dom.getRegion&amp;创建了一个区域。拉宽..
但是,以上所有选项都返回100px作为宽度。
请问任何基于非jquery的解决方案吗?
-Vidi
答案 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>