3

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

问候, Sameeksha Kumari

4

2 回答 2

6

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);
}
于 2013-07-27T06:31:33.880 回答
2

我会说 6502 发布了更正确的方法,但我认为也应该有人提及innerHTML。首先,在你的 HTML 正文中给一些元素一个 id 以便你可以引用它:

<div id="outputDiv">I'm empty.</div>

然后,无论是在文档底部(标签末尾<body>),还是在页面加载后的任何其他时间,您都可以使用以下命令更新内容innerHTML

document.getElementById("outputDiv").innerHTML = "<h1>Hello!!!</h1>";

这是一个展示这一点的jsfiddle。这不像使用更标准的 DOM 方法那样干净/正确/优雅,但它得到了很好的支持。有时你需要的是快速和肮脏的!

于 2013-07-27T06:37:13.940 回答