假设我想使用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后,我如何告诉它更新?
答案 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部分。