1. getElementById определен только для document, внутри элемента можно использовать например getElementsByTagName или querySelector.
2. htmlNode это интерфейс, который имеется у HTMLElement, который вам отдается
3. если вам нужен доступ к DOM внутри контроллера - где-то вы зашли не туда скорее всего.