Разумеется, тут нужно создавать директиву, но только потому что так правильно (работа с домом не должна присутствовать в контроллерах).
В любом случае, чтобы оживить элемент используется $compile
var liveElement = $compile(element)(scope)
В директиве $compile вызывается автоматически