【问题标题】:Create a new node from text Javascript从文本 Javascript 创建一个新节点
【发布时间】:2017-10-24 16:54:32
【问题描述】:

假设,我有一个这样的文本文件:

<button onclick="logIn.newTask();">Log In</button>

现在,在 Javascript 中,我想用一个简单的 document.appendChild(); 将其加载到我的 HTML 页面中,如下所示:

var client = new XMLHttpRequest();
client.open('GET', 'http://localhost/button.txt');
client.onreadystatechange = function () {
    if (this.readyState == 4 && this.status == 200) {
        document.appendChild(client.responseText);   // Load the button see above.
    }
}
client.send();

我的问题是这段代码给了我这个错误:

所以,我试图找到如何将文本转换为节点,但我在这个主题中找不到任何东西。


小问题

我想在我的网页中加载一些 html 的元素,但我找不到任何方法来实现这个目的。


非常感谢任何帮助。

如果您有任何问题或 cmets,请告诉我。

【问题讨论】:

  • 您实际上并不想将其直接附加到document 之外的&lt;/body&gt;

标签: javascript html nodes appendchild


【解决方案1】:

您需要创建一个新的 DOM 节点(使用 document.createElement(tagName)),然后将其 innerHTML 设置为您的 HTML 字符串。

这将使浏览器将 HTML 解析为新节点的子元素。

然后您可以将新节点或其子节点附加到某个现有节点。

【讨论】:

    【解决方案2】:

    为什么不试试呢:

    document.appendChild(document.createTextNode(client.responseText));
    

    保持简短。

    【讨论】:

    • 他可能希望将其解析为 HTML。
    • 或者只是文本
    • @Slaks,有什么区别?
    • @S.P.H.I.N.X:了解 XSS 漏洞和逃逸。
    猜你喜欢
    • 2021-12-31
    • 2021-12-13
    • 2012-11-01
    • 2015-10-28
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多