我有许多不同的 MathJax 公式,这些公式将在网页上的不同列表中动态移动。我试图用 JQuery 和附加属性来控制它。
在我的脚本文件中,我有各种公式数组,然后是一个使用 .append 列出指定 div 内部数组中的公式的函数。代码如下:
function listArray(array,div){
for(var i=0; i<array.length; i++){
$('#'+div).append('<li>'+array[i]);
}
};
我遇到的问题是 MathJax 在该脚本运行之前排版数学,因此附加的公式不会在 TeX 中显示。这是一个 fiddle 示例:
有人知道这个问题有什么好的解决办法吗?我尝试阅读一些有关重新排版 MathJax 的文档,但我并没有真正遵循它。
最佳答案
您的 fiddle 示例有两个问题。首先,数学表达式数组丢失了反斜杠,因为它们在 JavaScript 字符串中用作转义字符。您需要将它们加倍:
var jax = ['\\(\\mathbb{Q}\\)','\\(\\mathbb{Z}\\)'];
其次,您需要告诉 MathJax 在将数学添加到页面后处理数学。使用
MathJax.Hub.Queue(["Typeset",MathJax.Hub,div]);
在附加数学之后才能做到这一点。
Version 120你的 fiddle 显示了一个工作版本。
关于jquery - JQuery 中的 MathJax,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14513851/