2014-02-23 3 views
0

d3.insert, d3.append и d3.html - это три способа вставки новых элементов в DOM с использованием d3.D3: Как вставить элемент HTML в DOM?

Однако все они ожидают текст HTML и создают новые узлы. В моем случае использования у меня уже есть элемент DOM, готовый (для любопытных: полученный $compile «Углеродный фрагмент AngularJS»), и я не понимаю, как это добавить. Помогите оценить.

ответ

2

В документах для selection.append и selection.insert аргумент этих функций может быть «указан как константная строка или как функция, которая возвращает элемент DOM для добавления».

Так что если у вас есть узел уже назначенный переменной my_node вы можете просто сделать это:

selection.append(function() { return my_node; }); 
+0

ДУХ, хорошая точка. Я пробовал это раньше, но не понял, что он не работает, потому что '$ compile' от AngularJS дает мне массив узлов, а не один узел. Благодаря! – akoprowski

Смежные вопросы