Javascript appendChild 未显示正确的图像

Javascript appendChild not showing the correct image

我正在制作一个带有背景、三个按钮的简单游戏,但 运行 出现问题。

document.body.appendChild(img);

不附加图片,只显示替代文字。这是我目前所拥有的:

<script>
    document.body.style.backgroundImage =
    "url('./back.jpg')";
    document.body.style.backgroundSize = 'contain';
    document.body.style.backgroundRepeat = 'no-repeat';
    document.body.style.backgroundPosition = 'center';
    document.body.style.backgroundSize = '100%';    

    function show_image(src, width, height, alt) {
      var img = document.createElement("img");
      img.src = src;
      img.width = width;
      img.height = height;
      img.alt = alt;
      document.body.appendChild(img);
    }

    show_image("url('./b.png')", 100,100,"btnBlue")
</script>

这是我得到的:

我做错了什么?

您正在将图像 URL 格式化为 CSS 背景 属性,<img> 元素源仅采用 URL 本身:

show_image("url('./b.png')", 100, 100, "btnBlue") 会变成 show_image("./b.png", 100, 100, "btnBlue")

function show_image(src, width, height, alt) {
  var img = document.createElement("img");
  img.src = src;
  img.width = width;
  img.height = height;
  img.alt = alt;
  document.body.appendChild(img);
}

show_image("https://picsum.photos/200", 100, 100, "btnBlue")