2015-04-16 1 views
1

Простой вопрос, я принципиально хочу сделать что-то вроде следующего, но в «angularness»Как создать Javascript Узел в Angular.JS

var p = document.createElement("p"); 
document.body.appendChild(p); 

У меня есть часть AppendChild, я просто не знаю, как создать элемент, который имеет тип Node и ничего не нашел на нем. Я знаю, что вы можете создать элемент, используя angular.element("<div></div>"), однако проблема с этим заключается в том, что это не тип Node, и метод appendChild не примет его.

+2

Почему вы это делаете? Вероятно, вы не хотите добавлять такие элементы, как Angular. –

+0

Создание динамической директивы, которая добавляет некоторые html в зависимости от данных. Это не сумасшедшая трудная задача, поэтому я просто делаю что-то обычное. –

+0

И, более конкретно, я сделал директиву, используя этот метод раньше, однако мне не удалось добавить что-то к childNode, где потребуется нечто подобное. –

ответ

4

С помощью jqlite от Angular вы бы сделали аналогичную операцию с jQuery.

var p = angular.element("<p>")[0]; // now it's node 
document.body.appendChild(p); 

И наоборот

var p = document.createElement("p"); 
angular.element(document.body).append(angular.element(p)); 

Если у вас есть p с внешней стороны и не знаю точно, если это DOM или jqLite элемент, используйте angular.element обертку для него в любом случае (опять же, как вы будет работать с jQuery).