一个关于document.write函数的非常基础的JavaScript问题

3

我是一名刚接触JavaScript和jQuery的新手。以下是我在一个空白页面上的唯一代码:

<script type="text/javascript" src="jquery.min.js"></script>

    <script type="text/javascript">
        $(document).ready(function() {

            document.write('Hello World');

        });
    </script>

当我在浏览器(使用火狐)中加载页面时,已打开标签页的状态图标及收藏夹区域都显示了载入符号,就好像表明 document.write 函数正在不断地执行循环。为什么会这样呢?我只是想说“一旦页面准备好,输出屏幕上的字符串 Hello World 一次”。有什么问题吗?另外,我注意到如果我将代码中的 document.ready 部分删除,就没有循环了。不知道为什么事件处理程序会导致这个问题。
1个回答

6

document.write,如果在DOM加载完成后执行,会完全重写页面。它只能在DOM加载时执行,不能在加载后执行,而$(document).ready()在DOM加载完成后发生。

你需要使用append()

<script type="text/javascript">
    $(document).ready(function() {

        $('body').append('Hello World');

    });
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接