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