Я пытаюсь выбрать div с * ngIf:
<div id="explanation" *ngIf="isCorrect(option.optionValue)">
, который возвращает значение null, когда я использую getElementById. Если я удаляю ngIf, он работает нормально, но мне нужно использовать ngIf в моем приложении. Итак, как мне выбрать div?
РЕДАКТИРОВАТЬ: рефакторинг кода выглядит следующим образом:
<div [hidden]="!isCorrect(option.optionValue)">
<div id="explanation">
Option {{ question.answer }} is correct because {{ question.explanation }}.
</div>
</div>
ngAfterViewInit() {
let itemFrom = document.getElementById('explanation');
let itemTo = document.getElementById('question');
}
radioChange(answer) {
this.question.selectedOption = answer;
this.answer.emit(answer);
this.moveExplanation(this.itemFrom, this.itemTo);
}
moveExplanation(from, to) {
to.replaceWith(from);
}
вопрос и объяснение теперь оба записаны, замена с работает, просто нужно удалить оригинальное объяснениеиз-под правильного ответа, и объяснение каждого вопроса должно переместиться в поле вопроса и аналогичным образом удалить объяснение из-под правильного ответа.