2

我需要通过 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. 我怎样才能达到上面的等价物,我认为这是无效的?

4

1 回答 1

2

使用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">​…​&lt;/div>​

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

于 2013-07-06T22:08:32.287 回答