Javascript 写下奇怪的行为 标题 我的网页
输出: 页面中的标记为:Javascript 写下奇怪的行为 标题 我的网页,javascript,Javascript,输出: 页面中的标记为: HTML 头部 元 标题 脚本 正文 H1 B 通过取消对第一个document.write()的注释,我得到以下输出: 8页面中的标签为: HTML 头部 正文 有些标签不见了,我不知道哪里错了!我提前向您表示感谢。这是因为文档。加载完文档后调用write,它会删除并替换当前文档。如果您在这里看到:onload=“showtags()”这就是它发生的原因文档。在加载DOM之前,需要调用write。例如: <!DOCTYPE html> <html l
HTML
头部
元
标题
脚本
正文
H1
B
通过取消对第一个document.write()的注释,我得到以下输出: 8页面中的标签为:
HTML
头部
正文
有些标签不见了,我不知道哪里错了!我提前向您表示感谢。这是因为
文档。加载完文档后调用write
,它会删除并替换当前文档。如果您在这里看到:onload=“showtags()”
这就是它发生的原因<代码>文档。在加载DOM之前,需要调用write。例如:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Title</title>
<script language="JavaScript">
<!--
function showtags()
{
var tag, tags;
//document.write(document.all.length);
tags = "The tags in the page are:"
for(i = 0; i < document.all.length; i++)
{
tag = document.all(i).tagName;
tags = tags + "<br>" + tag;
}
document.write(tags);
}
// -->
</script>
</head>
<body onload="showtags()">
<h1>My <b>Web</b> Page</h1>
</body>
</html>
文档。写(“hi”)
没有问题,因为DOM仍在加载。但是在
onload
中,或者在页面完成加载后,通常不会加载。一旦文档完成加载,任何document.write()
都会清除当前文档并启动一个新的空白文档,因此您以前在文档中拥有的任何内容都将被清除
由于您在
onload
处理程序中调用此函数,因此文档肯定已完成加载,因此您的document.write()
将启动一个新文档。document.write
在函数中不好。它只应在dom仍在解析时在函数外部使用。否则,现有文档将替换为您传递给document.write.Where的已注释的document.write()
,您未注释的文档在哪里?@Barmar最初发表文章时,是document.write(document.all.length)代码>最初被注释掉。它已解决。我将函数调用放在文档末尾,如Spencer所述。谢谢你们。
<p> <script> document.write("hi"); </script> </p>