我对javascript document.write方法有疑问。大多数情况下,当我使用document.write()时,它会向我显示使用该方法在不同页面中编写的内容。例如,如果我写这样的命令,document.write(“你好,我的名字是Sameeksha”);然后执行此行将我带到同一页面上的不同文档。我希望能够将该消息与该页面的其他元素一起附加到同一页面上。例如,如果我在页面上有文本框和按钮,并且我希望带有document.write的文本显示在页面的所有内容下或页面的特定部分上。请建议以这种方式获得输出可以做些什么?因为这样,创建动态HTML内容非常容易。 非常感谢您的参与。
此致 Sameeksha Kumari
答案 0 :(得分:5)
document.write
基本上从未在现代Javascript中使用过。
您要做的是创建显式DOM元素并将它们附加到您想要的位置的文档中。例如
var x = document.createElement("div"); // Creates a new <div> node
x.textContent = "Hello, world"; // Sets the text content
document.body.appendChild(x); // Adds to the document
您也可以将子节点添加到任何现有节点,而不是追加到最后。例如:
function addChatMessage(msg) {
var chat = document.getElementById("chat"); // finds the container
var x = document.createElement("div");
x.textContent = msg;
chat.appendChild(x);
}
答案 1 :(得分:1)
我说6502发布了更正确的方法,但我认为有人也应该提到innerHTML
。首先,在HTML正文中为一些元素提供一个id,以便您可以引用它:
<div id="outputDiv">I'm empty.</div>
然后,在文档底部(<body>
标记的末尾)或页面加载后的任何其他时间,您可以使用innerHTML
更新内容:
document.getElementById("outputDiv").innerHTML = "<h1>Hello!!!</h1>";
Here's a jsfiddle demonstrating this.这不像使用更标准的DOM方法那样干净/正确/优雅,但它得到了很好的支持。有时你需要快速和肮脏的东西!