将 "name" 属性更改为 "id" 但图像不显示

Changed "name" attribute to "id" but images don't show

错误:img 元素的名称属性已过时。请改用 id 属性。

<img src name="slide" width="1714" height="500" alt="slideshow" />

上面你可以看到我有这个错误要求我将 'name' 更改为 'id',但是当我尝试这样做时它最终使我的图像不显示。所以本质上 'id' 不起作用,但 'name' 起作用。有什么想法吗?

https://gyazo.com/ff5c6b39d5a1b649027d2fca57a1ffa1

正如您在第一张图片中看到的,代码在 <img src name=""/>

    <script>
    var i = 0; // Start Point
    var images = []; // Images Array
    var time = 3000; // Time Between Switch`

    // Image List
    // This holds an array of all my images
    images[0] = "images/img_house.png";
    images[1] = "images/img_staff.jpg";
    images[2] = "images/img_desk.jpg";
    images[3] = "images/img_coinstack.jpg";

    // Change Image
    function changeImg() {
      document.slide.src = images[i];

      // Check If Index Is Under Max
      if (i < images.length - 1) {
        // Add 1 to Index
        i++;
      } else {
        // Reset Back To O
        i = 0;
      }

      // Run function every x seconds
      setTimeout("changeImg()", time);
    }

    // Run function when page loads
    window.onload = changeImg;

  </script>
  <section>
    <img src name="slide" width="1714" height="500" alt="slideshow" />
  </section>`

下面我已将代码更改为 <img src id=""/> 但它不再有效,它显示替代文本。

https://gyazo.com/634a5fa6db7e1acf22a55815f19d6da2

在您的函数中,您使用 name 属性 "slide" 插入它。但是 id 不是 name,必须从文档中获取。所以

document.getElementById("slide").src = images[i];

此外,<img> 标签不使用或不需要结束斜杠。