我一直在研究示例"Using D3.js to present XML as HTML Table",以尝试学习 D3.js API。我想我已经掌握了这个技巧,但是我无法真正理解.selectAll()
的功能,而在它上面的the documentation并不是很有帮助。
如果查看示例,请查看第17行:var td = tr.selectAll("td")
。我也可以将其写为tr.selectAll("tr")
,它将返回完全相同的表/页面。实际上,我可以编写tr.selectAll("SomethingCompletelyRandom")
,并且仍然可以使用,但是不能删除.selectAll()
。
这里发生了什么? .selectAll()
是做什么的?以及它如何取决于选择器?
最佳答案
您指向的API链接在先前的选择上使用了selectAll(这是一个子选择),因此您看(可能会造成混淆)可能没有意义。要查看的文档的相关部分将是here,更一般地说,是该选择文档页面here的简介。
在此处同时使用td
和tr
的原因是,在这两种情况下,初始选择均不返回任何内容(因为您从中选择的位置tr
尚未附加任何内容。)选择您的内容是标准做法之所以会创建,是因为将其扩展到动画并进行更新变得非常重要。
我建议您看一下Three Little Circles和Thinking with Joins教程
关于d3.js - .selectAll()到底是做什么的?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15259667/