我正在尝试使用flot插件进行jquery,并且它继续抱怨div的宽度/高度为零。我实际上在Django模板中包含了这个javascript。所以我的模板文件如下:
<style>
#graph {
width: 100px;
height: 100px;
}
</style>
<script>
$.plot(stuff)
console.log($(#graph).width())
</script>
<div id="#graph">
</div>
使用AJAX将此模板代码插入到另一个页面的DOM中。
$.ajax({
url: 'something',
success: function(data){ $("#content").html(data);
console.log($("#graph").width()) }
});
由于某种原因,我无法将宽度设置为非零,但如果我从ajax调用中测试“success”函数中的宽度,则它会正确返回。命令运行/放入DOM的顺序有问题吗?
答案 0 :(得分:1)
好吧,在你的第一个代码块中,你在标记中实际创建DIV之前检查DIV的宽度,并且感觉你没有使用DOMReady事件或Window Loaded事件,它会出现0或者最好是null。
所以,如果您只是将脚本块移动到第一个示例中的div下面,那将解决这个问题。
我想你会在你的第二个例子中找到类似的情况,但是如果没有看到更多的代码我就无法确定。