0

我有以下 HTML 代码:

<body>
  <div id="somediv1">
    Some LATEX TEXT
  </div>
  <div id="somediv2">
    Some LATEX TEXT
  </div>
  <button id="button1"><button>
  <button id="button2"><button>

  <script>
    $('#somediv1').show();
    $('#somediv2').hide();          


    $('#button1').click(function(){
      $('#somediv1').hide();
      $('#somediv2').show();
    });
    $('#button2').click(function(){
      $('#somediv2').hide();
      $('#somediv1').show();
    });
  </script>
  <script> //this include mathjax from mathjax cdn
  </script>
</body>

现在,问题:

当页面首次加载时,文本somediv1格式为Mathjax. 但是,当我单击任何按钮时,div元素会隐藏,并且当它们再次显示时,它们不会被格式化,因为Mathjax只会应用一次。我怎样才能将Mathjax应用于这些 div 元素内的 LATEX 文本。

更新:somediv元素内的文本不是普通的 LATEX 文本,而是高度格式化的(包括阅读大量 HTML 标签)。而且,我希望保持这种状态。

4

1 回答 1

1

得到了答案!

MathJax.Hub.Queue(["Typeset",MathJax.Hub]);在每次点击事件中使用。

它工作完美。

参考:

http://docs.mathjax.org/en/v1.1-latest/typeset.html

于 2013-10-09T12:32:46.507 回答