设置为全局变量的变量不设置样式

问题描述

我有以下代码

let fireball; //global variable

fireball = document.createElement("img") //variable on local
fireballArray.push(someFunction(fireball,{
 src: "img.png",width: "38" }))

fireball.style.display = "none" //global variable

我的目标是可以设置fireball = document.createElement("img")的样式(在本例中为隐藏样式)

但是,document.createElement("img")不会隐藏。有什么帮助吗?谢谢

警告:fireball = document.createElement("img")该变量必须保留在本地范围和样式上。显示:任何变量都不得位于其他范围内(如代码所示)

解决方法

创建img时:

function myFunction() {
  var fireball = document.createElement("img");
  fireball.setAttribute("src","img_pulpit.jpg");
  fireball.setAttribute("width","304");
  fireball.setAttribute("height","228");
  fireball.setAttribute("alt","The Pulpit Rock");
  fireball.setAttribute("id","UniqId"); // It is important to set an uniq ID
  document.body.appendChild(fireball);
}

然后应用集合,并通过ID getElementById获得Element:

function myFunction2() {
  var fireball = document.getElementById("UniqId");
  fireball.setAttribute("style","display:none; border:3px solid red;");
  document.body.appendChild(fireball);
}

您可以尝试使用w3C演示:https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_img_create