我将此代码放入我的angularjs Web应用中的index.html文件或视图(HTML)文件中,它的工作方式就像魅力:
<div id="chart"></div>
<script>
var chart = document.getElementById("chart");
alert("width is : " + chart.offsetWidth);
</script>
我可以调整浏览器窗口的大小,当我刷新时,它告诉我新的宽度。
但是,当我将此代码放入视图(HTML)文件中的模态窗口的代码时,我得到" width is:0"
有人知道为什么以及如何在模态窗口中获得DIV的宽度吗?
问题是旧的,但如果您或其他人还没有弄清楚它:
您需要确保在呈现元素后获得所需的价值。否则,您将始终获得'0'
这就是为什么在jQuery中您将代码包装在这样的块中:
$(function() {
// your code here
});
有几种变体;在纯JS中,您将使用'document.onload'
如果您正在使用jQuery,则可以使用
$('#chart').width()
http://api.jquery.com/width/