Javascript D3.js-附加到<;部门>;不起作用

Javascript D3.js-附加到<;部门>;不起作用,javascript,html,d3.js,Javascript,Html,D3.js,我面临一个非常奇怪的问题 如果我尝试将矩形附加到body中,效果很好。但是,如果我尝试附加到,它将不起作用 更奇怪的是,在Fiddler上,两个版本都可以工作 然而,在我的笔记本电脑上 d3.select("#chart").append("svg") 不工作(显示空白屏幕)。而下面的工作 d3.select("body").append("svg") 我在这里看到了类似的问题 然而,我无法从回复中看出是什么修复了它 谢谢。空白屏幕是由于您的系统中引发的异常造成的。打开开发工具,注意尝试

我面临一个非常奇怪的问题

如果我尝试将矩形附加到
body
中,效果很好。但是,如果我尝试附加到
,它将不起作用

更奇怪的是,在Fiddler上,两个版本都可以工作

然而,在我的笔记本电脑上

d3.select("#chart").append("svg")
不工作(显示空白屏幕)。而下面的工作

d3.select("body").append("svg")
我在这里看到了类似的问题

然而,我无法从回复中看出是什么修复了它


谢谢。

空白屏幕是由于您的系统中引发的异常造成的。打开开发工具,注意尝试加载d3.js时出现的错误。具体地说

混合内容:位于“”的页面被删除 已通过HTTPS加载,但请求了不安全的脚本 ''. 此请求已被阻止;这个 内容必须通过HTTPS提供

当然,这会立即引发一个例外

未捕获引用错误:未定义d3

因此,在这个范围之外,不在小提琴中工作,代码工作得很好

d3.select("#chart").append("svg")
-按预期工作

有什么不同?我根据转发给我的错误更改
源代码


编辑 根据讨论,引用的代码可能在加载DOM之前触发。用以下代码包装代码将解决此问题

window.onload = function () {
    // ...
    d3.select("#chart").append("svg")
    // ...
}

-DOM Ready

fiddler控制台中的错误是由于没有正确加载D3 JS造成的。然而,这不是我笔记本电脑的问题。具有讽刺意味的是,尽管在加载fiddler JS时出现了控制台错误,但它在fiddler中运行良好。即使“我的本地副本”中没有错误,但在引用“div”时仍然不起作用这是在加载DOM内容之前触发的吗?尝试使用有效的
window.onload=function(){}
@kayasa包装代码。谢谢只是好奇为什么在添加到@kayasa时这没有引起问题,我用解决这个问题的方法编辑了我的答案。如果您觉得这有帮助,请务必接受。还有,至于为什么。。必须是
首先加载=>执行的代码=>但
div#chart
仍未加载