如何使用javascript按钮将mathjax方程式添加到html页面中

时间:2014-04-02 21:43:27

标签: javascript html mathjax

假设我想使用MathJax在网页上生成随机分数,我可以写一下:

function newFrac() {
    a1 = ran(1,20);
    a2 = ran(1,20);
    var txt = "$ \frac{"+a1+"}{"+a2+"} $"
    document.getElementById("a").innerHTML=txt;
}

其中ran(1,20)调用函数生成随机数。 然后,当用户点击按钮创建一个新分数时,它会在我的网页上写下$ \frac{3}{7} $,但我不想要,我希望显示等式。我该怎么办?在javascript更改了html后,我如何告诉它更新?

1 个答案:

答案 0 :(得分:2)

要在MathJax处理完毕后评估页面上的数学,您需要通过Typeset将调用排队到MathJax.Hub.Queue(["Typeset", MathJax.Hub, el]),其中el是包含需要评估的数学的元素:

function newFrac() {
    a1 = ran(1,20);
    a2 = ran(1,20);
    var txt = "$ \frac{"+a1+"}{"+a2+"} $"
    var el = document.getElementById("a");
    el.innerHTML=txt;
    MathJax.Hub.Queue(["Typeset", MathJax.Hub, el]);
}

有关详细信息,请参阅Modifying Math on the Page。如果要更改现有等式,请参阅Manipulating Individual Math Elements部分。