Ваш код не работает, потому что вы пытаетесь передать значение переменной myv в функцию doText(), но эта функция не принимает аргументы. Вместо этого она напрямую обращается к глобальной переменной myv.
Чтобы исправить это, вы можете изменить вашу функцию doText(), чтобы она принимала аргумент, и использовать этот аргумент для установки текста элемента. Вот исправленный код:
Что касается передачи большого текста с форматированием, вы можете использовать метод innerHTML вместо innerText. Это позволит вам передавать HTML-код, который будет отображаться с соответствующим форматированием. Например:
Теперь вы можете передавать HTML-код в качестве аргумента функции doText(). Например:
var myv="";
</script>
<span id="tit"></span>
<img src="src/01.png" onMouseOver=doText(myv="YouTube") onMouseOut=doText(myv="")>
<script>
function doText() {
document.getElementById("tit").innerText=myv;
}
</script>
А как передать большой текст, да еще и с форматированием?