我需要通过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
一起使用。如何实现上述等价物,我认为无效?
答案 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元素,你现在可以这样操作它们。