控制台日志如下。
-> d3.select("#node1")
-> d3.select("#node1.1")
<-未捕获的DOMException:无法在"文档"上执行"查询选择器":"#node1.1"不是有效的选择器。(...>
-> $("#node1")
-> $("#node1.1")
-> document.getElementById("node1")
-> document.getElementById("node1.1")
<-非洲足联苯丙胺>
元素 #node1 没有问题。 #node1.1 在原生 JavaScript 中运行良好,但 jquery(3.0.0) 和 d3(4.1.1)
我不知道为什么。我能知道 #node1.1发生了什么吗?
我可以通过 chrome 开发人员工具复制元素选择器。 结果是
元素 #node1 -> #node1
元素 #node1.1 -> #node1\2e 1
.
字符被解释为元字符.
CSS选择器,因此它认为您正在寻找id为"node1"和类"1"的元素。
jQuery代码(好吧,Sizzle)将允许你用反斜杠引用它:
$("#node1\.1")
我不确定 d3。