我正在尝试向元素添加一些文本,但即使包含 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/