我试图遵循回答成员的 jsbin 中的示例,使用他们的代码作为模板并进行我自己的修改。因为什么也没有出现,所以我尝试直接复制并粘贴他们的代码,但这也不起作用。事实上,我想添加到正文的 svg 元素根本没有出现。最后,我编写了一个非常非常简单的脚本来测试向正文添加 svg。
<!DOCTYPE html>
<html>
<head>
<script src="http://d3js.org/d3.v3.min.js"></script>
<style>
svg{
border:1px solid #ccc;
}
</style>
<script>
var svg = d3.select("body").append("svg")
.attr("width",500).attr("height",300);
</script>
</head>
<body>
</body>
</html>
但是,当从我的笔记本电脑(从 Notepad++ )在 Chrome 中运行它时,即使这样也不起作用。我的其他更复杂的程序将完美运行,并且这个( http://jsbin.com/zeqecoge/1/edit )的 jsbin 也可以工作。我很困惑,想知道我是否只是做了一些完全错误的事情
最佳答案
您没有在发布的代码片段中定义正文,更重要的是,当评估脚本标记中的脚本时,不存在(它知道的)正文标记
试试这个:
<!DOCTYPE html>
<html>
<head>
<script src="http://d3js.org/d3.v3.min.js"></script>
<style>
svg{
border:1px solid #ccc;
}
</style>
</head>
<body>
<script>
var svg = d3.select("body").append("svg")
.attr("width",500).attr("height",300);
</script>
</body>
</html>
注意:我不是 html/js 专家,希望如果我错了,有人会纠正我。浏览器打开 html 文件的行为是从上到下读取文件,因此当它到达您的脚本时,您要求选择 body 标记(并附加等),但没有 body 标记遇到过。因此,这里的修复方法不仅是添加 body 标记(因此它存在),而且还将脚本放置在 body 标记内(或之后)(以便计算机在评估脚本时知道它)。
关于javascript - D3 : SVG not being appended to body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24765194/