如何将字符串中的html呈现为html

时间:2016-02-11 05:45:34

标签: javascript html escaping

所以我有这个字符串:

var textToBeRendered='<h1>I am a string of text</h1>';

如果DOM上有div,我怎样才能将字符串作为实际标题呈现给div元素?

所以DOM将包含:

<div>
   <h1>I am a string of text</h1>
</div>

6 个答案:

答案 0 :(得分:4)

试试这个^ _ ^:

var textToBeRendered='<h1>I am a string of text</h1>';
document.getElementById("demo").innerHTML = textToBeRendered
<div id="demo">
   <h1>I am a string of text</h1>
</div>

答案 1 :(得分:2)

使用document.createElement创建childNode。 textContent将文本放入新创建的元素中。然后使用appendChild附加父级

HTML

<div id="somId">
</div>

JS

var textToBeRendered= document.createElement('h1');
textToBeRendered.textContent = "I am a string of text";
document.getElementById('somId').appendChild(textToBeRendered);

EXAMPLE

答案 2 :(得分:0)

如果您考虑使用jQuery,可以使用jQuery.parseHTML()

答案 3 :(得分:0)

var textToBeRendered='<h1>I am a string of text</h1>';
var div = document.createElement("div");
div.innerHTML = textToBeRendered;
document.body.appendChild(div);

答案 4 :(得分:0)

我发现insertAdjacentHTML最灵活。第一个参数是它应该被调用的元素插入的位置。第二个参数是字符串。你甚至可以像这样使用它。 div.insertAdjacentHTML('afterbegin', '<h1>I am a string of text</h1>');

    (function(div) {
      var textToBeRendered = '<h1>I am a string of text</h1>';
      div.insertAdjacentHTML('afterbegin', textToBeRendered);
    }(document.querySelector('div')));
<div>
</div>

答案 5 :(得分:0)

你可以使用JQUERY来做到这一点,以下代码将帮助你

<div id="myHeader">
</div>

<script>
     $("myHeader").html("<h1>I am a string of text</h1>")
</script>