javascript - D3 : SVG not being appended to body

标签 javascript svg d3.js

我试图遵循回答成员的 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/

相关文章:

javascript - 从祖先克隆一个对象

d3.js - 在 dc.js 工具提示中添加图表

javascript - 当拖动超出范围时,D3 画笔范围从图表中消失

javascript - SVG指示器,而ajax收集所有信息(D3.js)

javascript - 将 CSS 和 HTML 汉堡菜单转换为 React 组件

javascript - 从元素属性值初始化 Knockout observable

javascript - 在客户端将 Svg 转换为 Png

user-interface - 使用 Raphael.js 绘制 ui 元素

javascript - 在Span标签中水平和垂直对齐SVG元素?

javascript - 将参数发送到函数而不执行直到单击 javascript/Jquery