Выборки в D3 неизменяемы . Следовательно, это:
tr.merge(tr.enter().append("tr"));
... не изменит, что такое tr
. Поскольку вы, очевидно, хотите, чтобы это был выбор «обновление + ввод», вам необходимо переназначить его:
tr = tr.merge(tr.enter().append("tr"));
Наконец, я бы посоветовал назвать выборку ввода, чтобы все это было:
var trEnter = tr.enter().append("tr");
tr = tr.merge(trEnter);