問題是用d3 js輸入法。以下是步驟和結果。d3 js輸入法不能正常工作
我使用
data(source).enter()
向svg添加了幾個圓圈。我得到了確切的圈數。數據源發生變化,新數據源的元素數量減少。所以我使用exit來刪除多餘的圈子。這也是一種魅力。其他圈子被刪除。
circles.data(source2).exit().remove();
數據源再次發生變化,這次它有比source2更多的元素。在這種情況下,我使用
data(source3).enter()
來添加更多圈子。但這從來沒有發生過。
這是一個粗糙的重建問題的小提琴。 http://jsfiddle.net/tejasj/z59mgb03/1/
更新:新的fiddle與代碼中的註釋。
它的工作!謝謝!我不明白你對'殭屍'的DOM觀點意味着什麼。有沒有可以解釋這個問題的文檔或資源?或者,也許你可以簡要解釋這是如何工作的。無論如何欣賞答案。 – nightgaunt 2014-09-01 10:32:48
那麼你正在做一個你正在保存在'circles'中的選擇。當你做這些事情時,你用'circles'做的每件事都不會反映出DOM的狀態,但是當你做出你所保存的選擇時。 – 2014-09-01 12:07:56