document.write()的JavaScript替代品

时间:2014-02-23 14:21:57

标签: javascript html

例如,我有一些功能:

var inputA = document.getElementById("A").value;
var inputB = document.getElementById("B").value;
document.write("First input is: " + inputA + '<br />');
document.write("Second input is: " + inputB + '<br />');

所以,在这种情况下我使用document.write(),但是有几个这些函数搞得搞砸了。这个document.write()会覆盖我的父html页面。如何将其设置为在新页面/选项卡中打开。或者如何在这种情况下使用document.close()才能正常工作。

我应该使用一些更好的方法,它也具有与此相同的功能。我想设置一个变量,在页面的所需位置打印一行文本,代码,数字等。

3 个答案:

答案 0 :(得分:3)

例如,您应该只更新部分内容,而不是覆盖整个页面。

<div id="myDiv">
</div>

<script>
  document.getElementById("myDiv").innerHTML = ("First input is: " + inputA + '<br />');
</script>

答案 1 :(得分:2)

您可以做的是将该文本放在特定元素中,而不是仅将其写入文档。

假设你的HTML中有这个:

<div id="content" />

您可以使用以下内容:

var str = "This is the content";
var elem = document.getElementById("content");
elem.innerHTML = str;

如果您只是担心调试逻辑,您可以随时使用console.log()将某些内容打印到JS控制台,以便您可以查看它。

答案 2 :(得分:2)

使用innerHTML

<input type="text" id="A" value="some" />
<input type="text" id="B" value="other value" />
<div id="result"></div>

<script type="text/javascript">

var inputA = document.getElementById("A").value;
var inputB = document.getElementById("B").value;

var firstInput = "First input is: " + inputA + '<br />';
var secondInput = "First input is: " + inputB + '<br />';

document.getElementById("result").innerHTML = firstInput + secondInput;
</script>

DEMO