gpt4 book ai didi

javascript - document.createElement 对于新窗口失败

转载 作者:行者123 更新时间:2023-11-28 16:09:58 25 4
gpt4 key购买 nike

我有两个 HTML 文件,FirstWindow 和 SecondWindow。 FirstWindow 使用 FirstWindowJS.js 作为其脚本,SecondWindow 使用 SecondWindowJS.js 作为其脚本。

通过 FirstWindowJS.js,我打开 SecondWindow.html。但是,我无法为其创建元素。这是代码和问题 -

FirstWindow.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>FirstWindow</title>
</head>
<body>
<script type="text/javascript" src="FirstWindowJS.js"></script>
</body>
</html>

第二窗口.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>SecondWindow</title>
</head>
<body>
<script type="text/javascript" src="SecondWindowJS.js"></script>
</body>
</html>

FirstWindowJS.js

main();

function main()
{
var myWindow = window.open("SecondWindow.html", "My Window",
"resizable=0,width=700,height=600");

var e = myWindow.document.createElement("currentUserElement");
e.setAttribute("id", "currentUserElement");
e.setAttribute("value","John");
}

SecondWindowJS.js

main();

function main()
{
var e = document.getElementById("currentUserElement");
var value = e.getAttribute("value");
console.log("value = "+value);
}

我在 SecondWindowJS.js 中遇到的错误是 -

TypeError: e is null 

为什么“e”为空?有什么错误吗?

最佳答案

新窗口可能会在打开程序的脚本继续之前运行其 JavaScript,但更有可能的是您无法在尚未附加到文档的元素上使用 getElementById

myWindow.document.body.appendChild(e);

关于javascript - document.createElement 对于新窗口失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13369113/

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