link: {
post: function($scope, element, attrs) {
$scope.$broadcast('SOME_EVENT_NAME');
}
}getElementById определен только для document, внутри элемента можно использовать например getElementsByTagName или querySelector.$scope.$apply().$timeout(ссылка на доку), вместо стандартного window.setTimeout.