gpt4 book ai didi

javascript - 为什么只有其中一行 javascript 在页面加载时触发?

转载 作者:行者123 更新时间:2023-11-30 06:25:34 25 4
gpt4 key购买 nike

我想真正了解浏览器如何加载网页的细节。

我在附加到 HTML 文件的 .js 文件中有两个 javascript 语句:

d3.select("body").append("span").text("Hello, world!");
alert("huh?");

当我加载页面时,我看到一个警告“嗯”。所以“嗯”语句被触发。

但是,“Hello, world”并未附加到文档正文中。

如果我然后在控制台中运行 d3.select("body").append("span").text("Hello, world!") 然后它会按预期执行 - -IE。它将“Hello, world”添加到正文中。

这是怎么回事? alert("huh?")在 DOM 中的 window.onload 事件之后触发,对吗?但是 d3.select... 没有触发?

为什么会出现差异?

最佳答案

代码操纵 DOM 的原因不开火是因为没有 DOM然而。要解决这个问题,您可以

  • 输入您的 <script> body 中的标签, 所以一旦有 body 它就会运行
  • 将您的代码封装在window.onload 中, 所以它会在 DOM 准备就绪时触发。

第二个选项的示例:

window.onload = function(){

d3.select("body").append("span").text("Hello, world!");
alert("huh?");

}

关于javascript - 为什么只有其中一行 javascript 在页面加载时触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21352017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com