2013-07-06 4 views
2

Мне нужно обработать некоторый текст через CreateTextNode, так как он может содержать специальные символы.Как использовать createTextNode() путем конкатенации

мне интересно, что будет эквивалентно:

/* var status holds some text */ 

contentStatus = document.createTextNode(status); 

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

Сейчас contentStatus просто отображается как [object Text] когда content вставляется в DOM.

Везде, где я смотрю, appendChild используется с CreateTextNode. Как я могу достичь эквивалента выше, который, как я предполагаю, недействителен?

+0

Почему вы не можете просто поместить текст из 'status' в конкатенацию? –

+0

вы разбираете 'content' как строку, также можете пропустить задание' contentStatus' и поместить 'status' непосредственно в строку concat' content'. –

+0

Я получил ссылку на CreateTextNode() в моем поиске способа дезинфекции ввода строки в DOM. В основном я пытаюсь запретить пользователям вводить «

sometext
» или эквивалент. В настоящее время класс и div будут отображаться и не будут отображаться как фактический текст. – LazerSharks

ответ

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 элементами, и теперь вы можете манипулировать ими как таковые.

+0

ahh, спасибо! Первый метод был быстрым и сработал. второй метод - аккуратный! Я попробую это сделать. – LazerSharks

+1

@Gnuey счастлив, что смогу помочь. Я испытал второй метод, который позже вводит меньше ошибок. – raam86

+1

А, я обязательно присмотрюсь к этому в моих будущих проектах кодирования. опять же для обращения к этому методу. – LazerSharks

Смежные вопросы