不能使用jquery和d3通过id获取元素,而是使用本机代码

时间:2016-07-11 17:26:21

标签: javascript jquery d3.js

控制台日志在下面。

- > d3.select( “#节点1”)

< - qa {_groups:Array [1],_ parents:Array [1]}

- > d3.select( “#node1.1”)

< - 未捕获的DOMException:无法在'Document'上执行'querySelector':'#node1.1'不是有效的选择器。(...)

- > $( “#节点1”)

< - [sdsdg]

- > $( “#node1.1”)

< - []

- >的document.getElementById( “节点1”)

< - sdsdg

- >的document.getElementById( “node1.1”)

< - asfas

元素#node1没有任何问题。 #node1.1运行良好的原生javascript但jquery(3.0.0)和d3(4.1.1)

我不知道为什么。我能知道#node1.1发生了什么吗?

我可以通过chrome开发人员工具复制元素选择器。结果是

  

element#node1 - > #节点1

     

element#node1.1 - > #node1 \ 2e 1

1 个答案:

答案 0 :(得分:1)

.字符被解释为CSS选择器.元字符,因此它认为您正在寻找ID为“node1”且类为“1”的元素。

jQuery代码(好吧,Sizzle)会让你用反斜杠引用它:

$("#node1\\.1")

我不确定d3。