javascript - 为什么这段 Javascript 代码不写入网页?

标签 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 中,但我不知道如何解决它。有什么建议吗?

最佳答案

因为那时文档已经写好了。您可以像这样设置文本:

<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

关于javascript - 为什么这段 Javascript 代码不写入网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3077706/

相关文章:

javascript - document.write 的惊人行为

javascript - 定位当前脚本的推荐方法?

javascript - jQuery : Removing DOM objects that have been added in load()

javascript - Redis数据操作

java - Play Framework 2.5 使用 POST 方法提交表单错误

javascript - 提交时使用 javascript 在表单中打开选项卡

javascript - 为什么这个 JavaScript(使用 document.open 和 document.write)不能在 Internet Explorer 或 Opera 中工作?

javascript - Emberjs 绑定(bind) Ember 对象中的属性

javascript - 在 Rails 中对 Controller 操作进行 ajax 调用

javascript - 简洁的 Angular 表单验证