Сообщение от xShift
|
и нашел угарный баг браузеров.
|
Если что-то работает не так, как вам хочется - это не значит, что это баг.
В первом варианте вы сохраняете в переменную test ссылку на DOM элемент, после изменяете outerHTML родителя. После внесения изменений ветка измененного родителя "перестраивается" и ваш test указывает уже на несуществующий элемент.
Во втором случае все почти тоже самое, только вы родителю "скармливаете" outerHTML виртуального DOM элемента.