我使用onload事件从HTML Body调用JavaScript函数。 JavaScript函数成功执行,但不显示HTML Body内容。
我相信,从JavaScript返回HTML Body会出现问题。
以下是代码的外观:
<html>
<script type="text/javascript">
function display()
{
document.write("You just executed JavaScript code");
return true;
}
</script>
<body onload="display();">
<p>We are in HTML now</p>
</body>
</html>
这将在浏览器中显示文本“您刚刚执行了JavaScript代码”。但是不显示标签的innerHTML。
我将tag中的onload事件修改为:
<body onload="return display();">
而且,即使这只执行JavaScript。
答案 0 :(得分:4)
如果您只想将消息显示为提示,请尝试此操作。
<script type="text/javascript">
function display()
{
alert("You just executed JavaScript code");
return true;
}
</script>
</head>
<html>
<body onload="display();">
<p>We are in HTML now</p>
</body>
否则
<script type="text/javascript">
window.onload=function()
{
document.getElementById("js").innerHTML = "You just executed JavaScript code";
return true;
}
</script>
<body>
<p id="js"></p>
<p>We are in HTML now</p>
</body>
</html>
答案 1 :(得分:1)
根据https://developer.mozilla.org/en/document.write
文档加载完毕后,调用document.write()
实际上会先调用document.open()
,它会用新的Document对象替换当前加载的文档。因此,您对代码执行的操作是将原始文档替换为仅包含字符串'You just execution javascript code'的文档。
因此,如果您想使用document.write
内嵌文字,则必须使用它:
<html>
<body>
<p>We are in HTML now</p>
<script>
document.write('You just executed javascript code');
</script>
</body>
</html>
如果要在加载完成后将文本插入文档,则需要使用其他方法,例如innerHTML
。
答案 2 :(得分:1)
嗨霓虹闪光, 我已经对你的问题做了一些工作。我也研究问题在哪里,然后我发现一些有趣的观点希望这对你有帮助 Check here
或者您可以使用
通常,而不是做
document.write
someElement.innerHTML
document.createElement with an someElement.appendChild.
您还可以考虑使用像jQuery这样的库并使用其中的修改函数:http://api.jquery.com/category/manipulation/
答案 3 :(得分:1)
Document.write正在替换body标签内的内容。
尝试这样的事情。
<html>
<script type="text/javascript">
function display()
{
document.getElementById("text-from-js").innerHTML = "You just executed JavaScript code";
return true;
}
</script>
<body onload="display();">
<p>We are in HTML now</p>
<p id="text-from-js"></p>
</body>
</html>
答案 4 :(得分:1)
正如之前的答案所说。 document.write
不能用于您的目的。我强烈地说
建议您不要在任何地方使用它。这是一种不好的做法。
为了您的目的,在document.body.innerHTML
ex:document.body.innerHTML += 'You just executed javascript code';
或类似
document.body.appendChild(document.createTextNode('You just executed javascript code'))
应该这样做。