Не работает код JS

Написал вот такой простейший js код. Открываю index.html, а он пустой. Абсолютно. При клике ничего не происходит. Пути к изображениям указаны правильно.

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script language="JavaScript">
        var myImage = document.querySelector('img');

myImage.onclick = function() {
    var mySrc = myImage.getAttribute('src');
    if(mySrc === 'images/firefox-icon.png') {
      myImage.setAttribute ('src','images/image1.png');
    } else {
      myImage.setAttribute ('src','images/image2.png');
    }
}
    </script>
</body>
</html>

Ответы (1 шт):

Автор решения: Leonid

Сначала добавьте элемент <img> на страницу, а потом вешайте на него слушателей и меняйте ему атрибуты.

const myImage = document.querySelector('img');

myImage.onclick = function() {
  var mySrc = myImage.getAttribute('src');
  if (mySrc === 'images/firefox-icon.png') {
    myImage.setAttribute('src', 'images/image1.png');
    myImage.setAttribute('alt', 'images/image1.png');

  } else {
    myImage.setAttribute('src', 'images/image2.png');
    myImage.setAttribute('alt', 'images/image2.png');
  }
}
<img src="" alt="Здесь вы ничего не дождетесь">

<body>
    <img src="" alt="Здесь вы ничего не дождетесь">
    <script>
        const myImage = document.querySelector('img');

        myImage.onclick = function() {
            var mySrc = myImage.getAttribute('src');
            if(mySrc === 'images/firefox-icon.png') {
              myImage.setAttribute ('src','images/image1.png');
              myImage.setAttribute ('alt','images/image1.png');

            } else {
              myImage.setAttribute ('src','images/image2.png');
              myImage.setAttribute ('alt','images/image1.png');
            }
        }
    </script>
</body>
→ Ссылка