document.write在同一页面上显示内容。

时间:2013-07-27 06:25:44

标签: javascript

我对javascript document.write方法有疑问。大多数情况下,当我使用document.write()时,它会向我显示使用该方法在不同页面中编写的内容。例如,如果我写这样的命令,document.write(“你好,我的名字是Sameeksha”);然后执行此行将我带到同一页面上的不同文档。我希望能够将该消息与该页面的其他元素一起附加到同一页面上。例如,如果我在页面上有文本框和按钮,并且我希望带有document.write的文本显示在页面的所有内容下或页面的特定部分上。请建议以这种方式获得输出可以做些什么?因为这样,创建动态HTML内容非常容易。    非常感谢您的参与。

此致     Sameeksha Kumari

2 个答案:

答案 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方法那样干净/正确/优雅,但它得到了很好的支持。有时你需要快速和肮脏的东西!

相关问题