2014-01-06 3 views
8

Если я хочу добавить символ символа ascii js в узел где-нибудь? Пробовал как TextNode, но не разобрать его как код:Как вставить объекты HTML с помощью createTextNode?

var dropdownTriggerText = document.createTextNode('blabla ∧'); 
+1

' ' и '&' и т. Д. Не являются кодами ASCII, они являются объектами HTML. –

+0

Вы имели в виду '&'? –

ответ

13

Вы не можете создавать узлы с HTML сущностями. Ваши альтернативы будут использовать значение Юникода

var dropdownTriggerText = document.createTextNode('blabla \u0026'); 

или набор innerHTML элемента. Конечно, вы можете напрямую ввести & ...

+0

Если уже есть элемент DIV, и вы хотите вставить текст, включая HTML-объекты, функция document.createHtmlNode() будет приятной. Например: myHtmlNode = document.createHtmlNode ('ABC   DEF'); myParentNode.appendChild (myHtmlNode); Но я предполагаю, что использование значений unicode, как было предложено, по-прежнему является ближайшим возможным вариантом. – RhinoDevel

8

createTextNode предполагается принять любой ввода текста и вставить его в DOM так же, как она есть. Это делает невозможным вставку, например, HTML-элементов, и HTML объектов. На самом деле это особенность, поэтому вам не нужно избегать этих первых. Вместо этого вы просто работаете с DOM для вставки текстовых узлов.

Таким образом, вы можете просто использовать & символ непосредственно:

var dropdownTriggerText = document.createTextNode('blabla &'); 
Смежные вопросы