使用document.links.length输出奇怪的输出

yee*_*een 1 javascript hyperlink

将以下内容保存在一个文件中(例如file.htm)并且它可以工作=>打印出"3".但如果我取消注释'document.write("Hello:");'' 它不再起作用(打印出"0").谁知道为什么?

<html>
<head>
<script language="JavaScript" type="text/javascript">
function display() {
    //document.write("Hello: ");
    document.write(document.links.length + "<br>");
}
</script>
</head>
<body onload="display()">

<A href="link0.htm">Link 0</A>
<A href="link1.htm">Link 1</A>
<A href="link2.htm">Link 2</A>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 6

在Chrome中,我观察到这种行为,而且大多数其他浏览器也可能.原因如下:

没有第一个document.write,它按预期工作.这里没什么特别的.

但是当你包含第一个document.write它覆盖文档的全部内容时,那么就没有任何链接了.第二个document.write报告正确,文档中有0个链接.

  • 差不多,不要使用document.write.永远. (2认同)