javascript - HTML 以纯文本形式显示

标签 javascript html

我正在尝试向元素添加一些文本,但即使包含 HTML 元素,它也会以纯文本形式显示。

for (i = 0; i < restext.length; i++) {
    var p = document.createElement("p");
    p.innerHTML = "<p>" + restext[i].innerHTML + "</p>";
    document.getElementById("registererrors").appendChild(p);
}

但是这样,它会打印出标签:

The name <em class="placeholder">name</em is already taken.

如何使其也处理此标签?

最佳答案

改变

p.innerHTML = "<p>" + restext[i].innerHTML + "</p>";

p.innerHTML = restext[i].innerHTML;

问题在于创建 p 之后元素为 document.createElement您添加 <p></p>在它里面。和里面的内在p标记您插入其他 HTML 代码,该代码会自动转义。

关于javascript - HTML 以纯文本形式显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32553568/

相关文章:

javascript - Popover 组件 - onExited 回调不起作用, Material ui

javascript - 将一个函数的原型(prototype)设置为另一个函数的原型(prototype)以进行子类化(使用 Object.setPrototypeOf()))

javascript - css 切换按钮在第一次单击时不更改类,但在函数完成运行后将其删除

javascript - 开 Jest 测试(ReferenceError : google is not defined) ReactJS and Google Charts

javascript - 具有多个子项的 CSS3 动画整页容器会导致延迟

html - 在 bootstrap 中定位侧边栏

javascript - 如何在Jquery的方法中管理具有相同类的元素

javascript - react Formik : how to use custom function onChange and onConfirmChange for request input

本地托管时 JQuery 验证在 webmatrix 上不起作用?

html - 将 div 放在另一个旁边