2013-08-02 36 views
0

关于此主题的另一个线索表示,我可以做出的唯一答复必须是答案。所以,这是关于这个话题的另一个线索,要求澄清问题。是否在d3更改中嵌套了选择?

本教程:

http://bost.ocks.org/mike/nest/

说d3.select的( “TBODY TD”)的父节点是HTML。我得到的是父节点是tr。或者,d3.select(“tbody td”)[0] [0] .parentNode是tr。

在关于这一问题的另一个线程:

Please help me understand the difference between the select() and selectAll()

博斯托克先生说的选择( “#东西”)的父节点全选( “TD”)是ID #something节点。 。我得到的是父节点是tr。

我错过了什么?

回答

0

混淆是因为超载的术语。 D3选择是二维数组,第一层包含“父节点”,第二层包含“子节点”。我看到的另一个术语,而不是父母有时是“组”。

你在用d3.select("tbody td")[0][0].parentNode看什么是DOM树中的物理父节点。

根据连接select/selectAll调用的方式,选择维护其自己的分组(或父/子)结构。孩子实际上可以是实际DOM中父节点后代的任何组合。

+0

这回答我的问题。但我仍然感到困惑。因此,本教程引用的parentNode属性位于组上:d3.select(“tbody td”)[0] .parentNode。我仍然没有得到这个意义。 – user1905156

+0

Arghhh ...按Enter键提交评论....但是,无论如何,我都不允许输入足够多的字符来形成连贯的声明。从本质上讲,你的答案加上阅读选择教程使我对这个主题不感兴趣。我实际上在阅读嵌套教程以了解选择教程。 – user1905156

+0

我认为这只是本文图表中标签“parentNode”的一个稍微混淆的用法。它很容易与DOM节点上的属性名称混淆,但我认为它只是作为一个标签。如果你把它看作“父母”,那么它更有意义。 –