将html字符串附加到DOM而不进行渲染

时间:2015-12-13 11:52:36

标签: javascript jquery html

我有一个javascript字符串容器HTML,类似于:

var html = "<h1>Justification</h1>";

如何将DOM添加到jQuery而不进行渲染?

期望的输出:

<h1>Justification</h1>

不会

理由

谢谢

2 个答案:

答案 0 :(得分:3)

您所要做的就是修改textContent而不是预期DOM元素的innerHTML。

可以像下面这样做

var body = document.getElementsByTagName("body")[0];
body.textContent = "<h1>Justification</h1>"

或者如果您在问题中获取HTML转义字符串,那么我们首先需要将其转换为如下所示

var escapedText = "&lt;h1&gt;Justification&lt;/h1&gt;";

function unescapedText(escapedText) {
    var div = document.createElement("div");
    div.innerHTML = escapedText;
    return div.textContent;
}

var body = document.getElementsByTagName("body")[0];
body.textContent = unescapedText(escapedText);

答案 1 :(得分:0)

你可以使用jquery:

来使用这样的东西
var html = "&lt;h1&gt;Justification&lt;/h1&gt;";
$("<div/>").html(html).val();

这项工作对我而言也适合你....