div.innerHTML = my_text;
上面的代码有一个问题:HTML 标签被渲染。我想要相反的行为:我想要 <b>
渲染为字符串,而不使任何内容变为粗体。我还希望能够使用“\t”和“\n”作为换行符和制表符。我能做什么?
最佳答案
要防止 HTML 被渲染,只需将其转义即可:
div.innerHTML = my_text.replace(/</g,"<");
这仍然允许解析 HTML 实体,例如 é
。如果您还希望这些显示为原始状态,请将其标记到行尾:
.replace(/&/g,"&");
或者,尝试这个“更干净”的选项:
while(div.firstChild) div.removeChild(div.firstChild);
div.appendChild(document.createTextNode(my_text));
关于javascript - 当使用innerHTML在div上插入文本时,如何阻止div识别HTML标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21069479/