Почему так происходит? Элемент существует, и он доступен, но при присвоении в константу результат оказывается undefined. Это особенность консоли Chrome или я что-то делаю не так? Как можно исправить это?
Это нормально. Когда объявляешь переменную через const, консоль показывает undefined — это результат самой операции, а не значение переменной. Просто напиши parent после объявления или сразу console.log(parent) — увидишь, что элемент на месте. Не баг, REPL браузера так работает.
Это нормальное поведение консоли! Когда вызываешь document.getElementById(), консоль показывает результат выполнения. А когда присваиваешь значение переменной через const parent = ..., консоль выводит результат выражения присваивания - всегда undefined. Переменная parent при этом содержит твой элемент. Попробуй после создания переменной ввести parent в консоль - увидишь элемент. Это особенность консоли, не проблема с кодом.
Да, это фишка консоли — она показывает результат выражения. Объявление переменной не возвращает значение, отсюда undefined. Твой элемент нормально записался в parent, просто проверь — введи имя переменной отдельно. Кстати, почему const выбрал? Планируешь что-то делать с элементом дальше?