如何通过连接使用createTextNode()

时间:2013-07-06 22:06:52

标签: javascript dom text special-characters sanitization

我需要通过CreateTextNode处理一些文本,因为它可能包含特殊字符。

我想知道相当于:

/* var status holds some text */  

contentStatus = document.createTextNode(status);

 content = '<div id="user">' + name +'</div><div id="stat">' + contentStatus + '</div>';    

现在,当contentStatus插入DOM时,[object Text]只是显示为content

我看到的任何地方,appendChild都与CreateTextNode一起使用。如何实现上述等价物,我认为无效?

1 个答案:

答案 0 :(得分:1)

使用textContent属性:

 content = '<div id="user">' + name+'</div>'
 +'<div id="stat">' 
 + contentStatus.data//This takes the actual string
 + '</div>';    

但有更好的方法:

var user = document.createElement('div');
curName = document.createTextNode(name);
user.appendChild(name);
user.id = "user";
var stat = document.createElement('div');
stat.id = "stat";
contentStatus = document.createTextNode(status);
stat.appendChild(contentStatus);
user.appendChild(stat);
console.log(user);//    <div id=​"user">​…​</div>​

这种方式更好,因为你处理dom元素,你现在可以这样操作它们。