为什么这个Javascript代码没有写入网页?

时间:2010-06-20 00:07:59

标签: javascript forms document.write

我刚开始学习Javascript。我想要“Hello World!”用户单击按钮后写入网页。我试过这个:

<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 个答案:

答案 0 :(得分:5)

因为此时已经编写了文档。你可以这样设置文字:

<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

答案 1 :(得分:2)

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