如何使用createTextNode插入HTML实体?

时间:2014-01-06 02:26:03

标签: javascript

如果我想将ascii符号格式js添加到某个节点? 尝试为TextNode,但它没有将其解析为代码:

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

3 个答案:

答案 0 :(得分:18)

您无法使用HTML实体创建节点。您的替代方案是使用unicode值

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

或设置元素的innerHTML。您当然可以直接输入& ...

答案 1 :(得分:9)

createTextNode应该接受任何文本输入,并将其完全插入到DOM中。这使得无法插入HTML元素和HTML 实体。它实际上是一个功能,所以你不需要首先逃避它们。相反,您只需在DOM上操作即可插入文本节点。

因此,您实际上可以直接使用&符号:

var dropdownTriggerText = document.createTextNode('blabla &');

答案 2 :(得分:1)

我找不到自动执行此操作的方法。所以我做了一个功能。

readUserData = async () => {
              try {
                 this.setState({ loading: true });
                 await firebase
                .database()
                .ref("recette")
                .once("value", function (snapshot) {
                  snapshot.forEach(function (child) {
                    console.log(child.key + ": " + child.val()+ child.total);
                 });
              });
           } catch (e) {
            // Error! oh no
          } finally {
            this.setState({ loading: false });
          }
        };`