При разборе HTML-строки браузер обычно вставит tbody между table и tr, даже если tbody отсутствовал в исходной разметке.
Если в таблице указать только <table> и вложенный <tr>, что браузер покажет в DOM-дереве?
При разборе HTML-строки браузер обычно вставит tbody между table и tr, даже если tbody отсутствовал в исходной разметке.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При разборе HTML-строки браузер обычно вставит tbody между table и tr, даже если tbody отсутствовал в исходной разметке.
Поэтому селектор table > tr может не находить строку, а структура DOM отличается от написанного HTML. Явный tbody делает намерение понятнее и помогает избежать расхождений при hydration. Программное создание узлов через DOM API — другой путь: нельзя считать автоматическую вставку обязательной для любой операции appendChild.
Источник: developer.mozilla.org.