[yerine gerekir] komutunu [bu kullanarak], baskı benzeri eylemi Sıraya içerik değişikliklerini yapmak (jQuery .html (s) işlevi yerine, ör.) Daha sonra içeriği değiştirirken matematiği işler.
<script type="text/javascript">
function updateMathContent(s) {
var math = MathJax.Hub.getAllJax("mathdiv")[0];
MathJax.Hub.Queue(["Text", math, s]);
}
</script>
...
<div id="mathdiv">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<msup>
<mi>x</mi>
<mn>2</mn>
</msup>
</math>
</div>
Yani sadece yeni MathML ile div tüm içeriğini değiştirmek için işlevini kullanın ve işe yarayacak. (Script kafasına gider.)
Not: Boş bir matematik div ve sonraki MathML eklerseniz, bir komut dosyası hatası alırsınız. Ama eğer matematik etiketler güncellemeMathContent çağrısı içinde hiçbir şeyle mevcut değilse işe yarayacaktır. MathJax uyumsuz faaliyet olarak
[docs] göre (http://www.mathjax.org/docs/2.0/typeset.html) kullanarak, doğrudan() MathJax.Hub.Typeset çağırmamalıdır. Bunun yerine, 'MathJax.Hub.Queue (["Typeset", MathJax.Hub]); –
@AnthonyBatchelor: Agreed. Cevabımı daha açık hale getirmek için güncelledim. Gelecekten – thirtydot
Not: cdn.mathjax.org sona ömrünün üzeredir, göç ipuçları için https://www.mathjax.org/cdn-shutting-down/ kontrol edin. –