.selectAll()到底是做什么的?

bon*_*nna 5 html-table d3.js

我一直在研究示例“使用D3.js将XML作为HTML表呈现”,以尝试学习D3.js API。我想我已经掌握了它,但是我不能真正理解它的.selectAll()作用,并且关于它的文档不是很有帮助。

如果您查看示例,请查看第17行:var td = tr.selectAll("td")。我也可以这样写tr.selectAll("tr"),它将返回完全相同的表/页面。实际上,我可以编写tr.selectAll("SomethingCompletelyRandom")并且仍然可以使用,但是不能删除.selectAll()

这里发生了什么?怎么.selectAll()办?以及它如何取决于选择器?

Jos*_*osh 4

您指向的 API 链接在先前的选择(它是子选择)上使用 selectAll,因此您查看可能没有意义(并且可能会令人困惑)。要查看的文档的相关部分是此处,更一般地说,是选择文档页面的介绍,此处

td在这里使用和 都有效的原因tr是,初始选择在这两种情况下都不会返回任何内容(因为您从中选择的位置,tr,尚未附加任何内容。)选择您将要创建的内容是标准做法,因为当将其扩展到动画并更新时,它变得极其重要。

我建议您查看“三个小圆圈”“连接思考”教程