代码之家  ›  专栏  ›  技术社区  ›  thyrgle

为什么这个javascript代码不写入网页?

  •  2
  • thyrgle  · 技术社区  · 16 年前

    我刚刚开始学习javascript。我要“你好,世界!”在用户单击按钮后写入网页。我尝试过:

    <html>
    <head>
    <script type="text/javascript">
    function displaymessage()
    {
    document.write("Hello World!");
    }
    </script>
    </head>
    
    <body>
    <form>
    <input type="button" value="Click me!" onclick="displaymessage()" />
    </form>
    </body>
    </html>
    

    我可以让它做一个 window.alert("Hello World!") 但不做 document.write("Hello World!") 出于某种原因。发生的情况是按钮消失,不显示任何文本。我猜问题出在 document.write 但我不知道如何解决这个问题。有什么建议吗?

    2 回复  |  直到 16 年前
        1
  •  5
  •   meder omuraliev    16 年前

    因为当时文件已经写好了。您可以这样设置文本:

    <button id="lol">blah</button>
    <script>
        function setText( obj, to ) {
            obj.textContent? obj.textContent = to : obj.innerText = to;
        }
        var lol = document.getElementById('lol')
    
        lol.onclick = function() {
            var p = document.createElement('p');
            document.body.appendChild(p);
            setText( p, 'hi' );
        }
    </script>
    

    另一种流行但经常被人看不起的技巧是 innerHTML .

        2
  •  2
  •   Mike Sherov    16 年前

    document.write用于写入当前加载的HTML文件。一旦页面被加载,并且用户开始与页面交互,document.write就没用了。

    推荐文章