如果我在浏览器(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;
答案 0 :(得分:3)
您应该将函数引用传递给document.addEventListener。 您想要的事件名称也是&#34; DOMContentLoaded&#34;
即使用 Blogs -> Providers -> OpenAccessDataProvider
代替document.addEventListener("DOMContentLoaded", load);
我认为它在Stackoverflow上工作的原因是因为当调用load()时,html部分已经加载,因此选择器工作