0

我使用这个命令

<div id="formulaOut"><script type="math/tex">z = \sqrt{x^2+y^2}</script></div>

以 Tex 格式显示一行。现在我想更改该行的内容(JavaScript),但我仍然想以 Tex 格式解释它。当我放一个按钮时,我执行以下功能:

function Calculation() {
    document.getElementById("formulaOut").innerHTML= 'x^2+y^2';
}

但是像这样,String 不再被解释为 Tex。有什么建议可以解决这个问题吗?

4

1 回答 1

1

尝试使用

function Calculation() {
  var jax = MathJax.Hub.getAllJaxFor("formulaOut")[0];
  MathJax.Hub.Queue("Text",jax,"x^2+y^2");
}

反而。

问题是你有:

  1. 用不标识任何要排版的数学的字符串替换了<script type="math/tex">标识 MathJax数学的 ,并且x^2+y^2
  2. 您没有告诉 MathJax,一旦有了新的数学,它就需要重新排版 div 的内容。

我提供的代码查找由 MathJax 创建的数学元素,并告诉它应该将其 TeX 代码更改为新字符串(这会自动重新排版它)。

于 2013-06-18T19:50:17.580 回答