忠实地在一个区域插入一个字符串

时间:2016-07-16 16:05:12

标签: javascript html

我想在某个区域动态打印一个字符串(非常量)(例如div result)。然后我使用以下代码:

<!DOCTYPE html>
<html>
<body>
  <div id="result"></div>
  <script>
     var elt = document.createElement("span");
     elt.innerHTML = "=A2<C2";
     document.querySelector("#result").appendChild(elt);
  </script>
</body>
</html>

问题是,如果我要打印的字符串包含<,它会解释该字符串并且不会忠实地打印<。例如,上面的代码打印=A2

我看到一些主题提议用< +空格替换<。但我不喜欢插入的空间。另外,我不知道是否还有其他特殊字符会被解释。

所以有人知道任何忠实打印字符串的一般解决方案吗?

PS:JSBin

2 个答案:

答案 0 :(得分:1)

绝对不要使用innerHTML插入文字;只以这种方式插入HTML。插入文本有点冗长,但并不太难:

elt.appendChild(document.createTextNode("=A2<C2"));

答案 1 :(得分:1)

您可以将cgi.py替换为.textContent

.innerHTML