控制台日志在下面。
- > 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
答案 0 :(得分:1)
.
字符被解释为CSS选择器.
元字符,因此它认为您正在寻找ID为“node1”且类为“1”的元素。
jQuery代码(好吧,Sizzle)会让你用反斜杠引用它:
$("#node1\\.1")
我不确定d3。