在Django模板中包含javascript时无法获得div高度

时间:2009-09-23 16:50:39

标签: jquery django

我正在尝试使用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的顺序有问题吗?

1 个答案:

答案 0 :(得分:1)

好吧,在你的第一个代码块中,你在标记中实际创建DIV之前检查DIV的宽度,并且感觉你没有使用DOMReady事件或Window Loaded事件,它会出现0或者最好是null。

所以,如果您只是将脚本块移动到第一个示例中的div下面,那将解决这个问题。

我想你会在你的第二个例子中找到类似的情况,但是如果没有看到更多的代码我就无法确定。