Javascript 如何使用createTextNode插入HTML实体?
如果我想将ascii符号表单js添加到某个节点? 尝试作为Javascript 如何使用createTextNode插入HTML实体?,javascript,Javascript,如果我想将ascii符号表单js添加到某个节点? 尝试作为TextNode,但未将其作为代码进行解析: var dropdownTriggerText = document.createTextNode('blabla ∧'); createTextNode应该接受任何文本输入并将其完全插入DOM。这使得无法插入例如HTML元素和HTML实体。这实际上是一个特性,所以你不需要先逃避这些。相反,您只需在DOM上操作以插入文本节点 因此,您实际上可以直接使用&符号: var dro
TextNode
,但未将其作为代码进行解析:
var dropdownTriggerText = document.createTextNode('blabla ∧');
createTextNode
应该接受任何文本输入并将其完全插入DOM。这使得无法插入例如HTML元素和HTML实体。这实际上是一个特性,所以你不需要先逃避这些。相反,您只需在DOM上操作以插入文本节点
因此,您实际上可以直接使用&
符号:
var dropdownTriggerText = document.createTextNode('blabla &');
不能使用HTML实体创建节点。您可以选择使用unicode值
var dropdownTriggerText = document.createTextNode('blabla \u0026');
或者设置元素的
innerHTML
。当然,您可以直接输入&
。我找不到一种自动化的方法。所以我做了一个函数
// render HTML as text for inserting into text nodes
function renderHTML(txt) {
var tmpDiv = document.createElement("div"); tmpDiv.innerHTML = txt;
return tmpDiv.innerText || tmpDiv.textContent || txt;
}
和&
等不是ASCII码,它们是HTML实体。你是说&代码>?如果已经有一个DIV元素,并且您希望插入包含HTML实体的文本,则可以使用document.createHtmlNode()函数。例如:myHtmlNode=document.createHtmlNode('ABC DEF');appendChild(myHtmlNode);但我想,使用建议的unicode值仍然是最接近这一点的选项。