Сообщение от jaroslav.tavgen
|
Но не в этом случае:
|
Это вообще 2 разных случая. Ещё раз. Если сейчас не поймете - прочтите ЦЕЛИКОМ статью которую я кинул.
Вот Ваш код:
<div id="id1" onclick="Function1()">Click on me</div>
<script>
"use strict"
var id1 = document.getElementById("id1");
id1.outerHTML = id1.outerHTML.replace('onclick="Function1()"', 'onclick="Function2()"');
alert(id1.outerHTML);
function Function1(){
alert('Function1 is executed!');
}
function Function2(){
alert('Function2 is executed!');
}
</script>
В строке 4 вы записали в переменную "id1" ссылку на елемент.
В строке 5 Вы УДАЛИЛИ тег на который ссылалась переменная "id1" (при этом не удаляя переменную), и СОЗДАЛИ НОВЫЙ тег, ссылку на который вы НИКУДА не записывали. Оператор присвоения ("=") в данном случае никак не связан с вашей переменной! Он говорит чтобы вы записали НОВУЮ строку на место где находится Ваш элемент. После того как строка записана браузер понимает что это тег.