D3.js 将HTML加载到面板时D3不工作

D3.js 将HTML加载到面板时D3不工作,d3.js,D3.js,我创建了一个有两个面板的网页;左边的一个有可点击的文本,右边的一个是空的。单击左侧的文本时,相应的HTML页面将加载到右侧面板中。除了要加载的HTML文件包含一个D3.js图,在这种情况下,HTML元素加载而图不加载之外,所有这些都可以顺利工作 以下是加载HTML文件的代码: function displayDetails(details_filename) { $("#details_panel").load("details/" + details_filename + ".htm

我创建了一个有两个面板的网页;左边的一个有可点击的文本,右边的一个是空的。单击左侧的文本时,相应的HTML页面将加载到右侧面板中。除了要加载的HTML文件包含一个D3.js图,在这种情况下,HTML元素加载而图不加载之外,所有这些都可以顺利工作

以下是加载HTML文件的代码:

function displayDetails(details_filename) {
     $("#details_panel").load("details/" + details_filename + ".html");
}
是否有任何理由只加载HTML而忽略D3图表?我已经检查了D3.js库是否被正确引用。非常值得注意的是,HTML文件单独加载时工作正常,而不是加载到面板中


我期待着听到你的想法!提前感谢您的帮助。

首先想到的是确保您选择了正确的HTML元素(body、#div2等)


我的第一个想法是,D3代码是否引用了正确的ID(或其他需要的html元素)。当您检查元素时,是否在代码中看到SVG?你能把你的代码放在JSFIDLE或者类似的东西上吗?但是如果是这样的话,HTML文件在自己加载的时候不是不能工作吗?当我检查元素时,我看到SVG没有加载。好问题我确实会遇到这个错误:“文件位于/var/lib/stickshift/5133e0a75004654830002dc/app root/data/423955/prototype/d3/d3.v3.js未找到”,但为什么在单独加载HTML时,而不是在使用面板时,会引用它呢?似乎您的相对路径一定是错误的。你是不是有电话簿?也许您需要遍历到路径中的其他目录?我发现这对我来说是一个常见的问题,我忘了遍历目录“./var/lib/stickshift/etc”。嗯,我再看看。但是,如果路径是错误的,HTML文件本身难道不工作吗?(如中所述,未加载到面板中时?)
svg = d3.select("#rightDiv")
   .append("svg")
   .attr("width", w + margin.left + margin.right)
   ...;