不能使用 jquery 和 d3 通过 id 获取元素,但可以通过本机代码工作



控制台日志如下。

-> 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。

相关内容

最新更新