Cześć, sam jestem początkujący ale przysiadłem nad Twoim problemem i o to co udało mi się naskrobać. Pierwszą sprawą jest to że kod był dość nieczytelny i ja bym zamienił nazwy zmiennych na bardziej oczywiste.
Mój HTML:
<h1 id="naglowek">Domyślny</h1>
<form>
<select id="formularz">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</form>
Moja wersja JS-a zmieniająca tag nagłówka wygląda tak:
document.getElementById("formularz").addEventListener("change",function() {zmiana(this,"naglowek")});
function zmiana(form,identyfikator){
var element = document.getElementById(identyfikator),
wynikFormularza = form.value,
rozmiar = "h" + wynikFormularza,
nowyElement = document.createElement(rozmiar),
rodzic = element.parentNode;
nowyElement.innerHTML = element.innerHTML;
nowyElement.id = identyfikator;
rodzic.replaceChild(nowyElement,element);
}
Ze względu na późną godzinę nie będę tłumaczył krok po kroku działania. Mam nadzieję że poradzisz sobie z ogarnięciem tego sam, jeśli nie to pytaj a ja odpowiem rano.