如何使用包含HTML标记的文本创建DOM节点

时间:2018-06-18 17:17:02

标签: javascript html dom

在以下代码中,CreateTextNode函数不使用text变量中包含的HTML标记。相反,它会在结果中显示原始HTML文本。

var i,text;
for(i=0;i<p.length;i++){
    text+=p[i].name+"<br>"+p[i].id+"<br>"+p[i].image;   
    //text contain embedded HTML tag.   

}

var para=document.createElement("p");
var node=document.createTextNode(text);

para.appendChild(node);
var element=document.getElementById("one");
element.appendChild(para);

1 个答案:

答案 0 :(得分:0)

如果您希望将文本视为HTML并进行解析,请使用innerHTML属性,而不是文本节点:

var para=document.createElement("p");
para.innerHTML = text;

或者,您可以使用insertAdjacentHTML

var para=document.createElement("p");
para.insertAdjacentHTML("beforeend", text);

...但是在这种情况下设置innerHTML可能更简单,因为你刚刚创建了元素并且你知道它是空的。