在头部编写脚本以在body中创建DIV



我必须在head中放置一个脚本,该脚本创建一个div元素并将该div插入到body标记中。

var condiv = document.createElement("div");
(condiv.innerHTML = " "),
condiv.setAttribute("class", "ads"),
document.body.appendChild(condiv),
0 === condiv.offsetHeight ||
(function () {
}

当我把脚本插入正文时,它就起作用了,但之前没有。当脚本位于纯javascript而不是Jquery的头部(之前(时,有没有办法将DIV添加到主体中?把它放在脑子里是非常重要的,因为我必须把它放到脑子里其他脚本之前,我不想把这个脚本放在身体里。我知道,我可以使用document.head.appendChild,但头部中的HTML元素无法验证。谢谢你抽出时间。

由于脚本在head部分,并且在创建body标记之前加载,因此您找不到用于在其中放置div的body标记。有多种方法可以包装脚本,使其在加载DOM后运行。每一个都有细微的差别。你可以在MDN上看到它们的例子。基本上,你可以通过在这个函数中编写这个代码来加载它,它会在所有页面加载后加载(包括图像和其他脚本(:

window.addEventListener('load', (event) => {
var condiv = document.createElement("div");
(condiv.innerHTML = " "),
condiv.setAttribute("class", "ads"),
document.body.appendChild(condiv),
0 === condiv.offsetHeight ||
(function () {
}
});

有一些方法可以在只加载DOM之后加载它,这在这个问题中有详细阐述。我认为那里的答案会更好地供您使用。

最新更新