Select 在d3中:可以选择";正文“;但不能选择“;分区;或#id";或“不”;。“类”;

Select 在d3中:可以选择";正文“;但不能选择“;分区;或#id";或“不”;。“类”;,select,d3.js,Select,D3.js,使用d3。无法执行d3。请选择(“”) 我对d3非常陌生——刚刚开始学习Scott的书,并尝试了绑定数据的第一个简单示例 我的页面的body元素只有一个元素——id=“abc”和class=“abc”的div 当d3.select为(“body”)时,下面的示例起作用。我得到了附加到正文末尾的预期结果 然而,当我将d3.select更改为(“div”)或(“abc”)或(“abc”)时,我没有得到预期的5段附加到div中;就好像剧本从来没有出现过。我只看到两个标题(h1和h2) 我相信对于有经验

使用d3。无法执行d3。请选择(“”)

我对d3非常陌生——刚刚开始学习Scott的书,并尝试了绑定数据的第一个简单示例

我的页面的body元素只有一个元素——id=“abc”和class=“abc”的div

当d3.select为(“body”)时,下面的示例起作用。我得到了附加到正文末尾的预期结果

然而,当我将d3.select更改为(“div”)或(“abc”)或(“abc”)时,我没有得到预期的5段附加到div中;就好像剧本从来没有出现过。我只看到两个标题(h1和h2)

我相信对于有经验的人来说,问题和解决办法都很简单。然而,对于这个新手来说,他们是莫名其妙的。具体来说,为什么d3.select似乎只与“主体”选择器一起工作,而不与任何其他合法选择器一起工作

以下是相关代码:

<h1>Testing</h1>
<script>
var dataset = [5, 10, 15, 20, 25];
d3.select("div") //"div" doesn't work - only "body" works
   .selectAll("p")
    .data(dataset)
    .enter()
    .append("p")
   .text(function (d) { return "NewParagraph " + d; });
</script>

<div id="abc" class="abc">
<h2>This is a Div</h2>
</div>
测试
var数据集=[5,10,15,20,25];
d3.选择(“div”)/“div”不起作用-只有“body”起作用
.全选(“p”)
.数据(数据集)
.输入()
.附加(“p”)
.text(函数(d){返回“新段落”+d;});
这是一个Div

在定义了使用的元素后,需要运行脚本。您正在脚本之后定义
div
。如果将
div
放在
脚本

之前,应该可以正常工作。我相信我偶然发现了解决方案

我把脚本放在脚本的前面,所有的选择都无法立即生效