если пример слегка переделать навесив событие на элемент то событие пропадает после replace( при втором клике)
<span>click</span>
<script>
document.getElementsByTagName('span')[0].onclick = function () {document.body.innerHTML = document.body.innerHTML.replace("click",'<b>click</b>');
alert(document.body.innerHTML);
}
</script>