Какой абсолютно ужасный код ... они должны были использовать лучшее имя переменной, чем 'html'.
Что касается неправильного подхода - в некоторых браузерах есть проблемы с прямой модификацией, если это страница XHTML.Если он не генерируется динамически, вам лучше вставлять его вместе с остальным HTML и использовать CSS, чтобы скрывать / показывать его при необходимости.
Для функциональности типа раскрывающегося меню я обычно оставляю этопоказывается с исходным CSS, но затем JavaScript скрывает его при загрузке страницы - таким образом, если JS выключен, они просто имеют полностью расширенные меню, а не доступ к вещам более низкого уровня.Если вы сделаете так, чтобы раздел manu, связанный с текущей страницей, был расширен, вам не нужно этого делать, это просто означает, что больше кликов будет переходить на каждую страницу, чтобы добраться до контента, который они ищут.
В вашем случае, поскольку для якорей нет «href», я предполагаю, что эти элементы работают только при включенном JavaScript, поэтому я действительно не вижу проблем с его вставкой через JS.(а что касается вставки HTML вместо выполнения по элементам ... если это HTML, а не XHTML, у меня нет проблем со вставкой строки, так как я считаю, что ее легче поддерживать ... и будет ли она на самом деле в файле HTML, я говорю, что есть еще больше причин сохранять его как строку HTML)