2014-01-06 65 views
8

如果我想添加一個ascii符號形式js到某個節點的某個地方? 嘗試作爲一個TextNode,但它並沒有解析它作爲代碼:如何使用createTextNode插入HTML實體?

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 &');