为什么这段代码在我的浏览器中不起作用?

时间:2018-02-06 18:01:15

标签: javascript html css

如果我在浏览器(chrome)中运行以下代码,它就无法运行。但是,在stackoverflow预览编译器中运行此代码时,它可以正常工作。有人可以向我解释原因吗?

代码应该改变div元素的背景颜色。

我的目标是使用js更改div的颜色。我也试过改变标签的价值而且也没有用。 JS在不改变颜色(或文本)的情况下工作,因为它在最后触发警报。在成功加载文档后也会调用代码。



function load() {
  var div = document.getElementById('div1');
  var label = document.getElementById("label");

  // div.style.background = "green";
  // label.value = "ml";

  alert("hi");
}

document.addEventListener(load, load());

body {
  background: #24313E;
  font-family: arial;
  color: #F2F2F4;
}

#div1 {
  background: red;
  width: 400;
  height: 400;
}

<div id="div1">
  hover me
</div>
<label id="label">hi</label>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:3)

您应该将函数引用传递给document.addEventListener。 您想要的事件名称也是&#34; DOMContentLoaded&#34;

即使用 Blogs -> Providers -> OpenAccessDataProvider 代替document.addEventListener("DOMContentLoaded", load);

我认为它在Stackoverflow上工作的原因是因为当调用load()时,html部分已经加载,因此选择器工作