Javascript 插入';乳胶';-html中的动态文本

Javascript 插入';乳胶';-html中的动态文本,javascript,html,mathjax,Javascript,Html,Mathjax,我想通过MathJax在html文件中动态插入“LATEX”-文本 <html> <head> <title>MathJax MathML Test Page</title> <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">

我想通过MathJax在html文件中动态插入“LATEX”-文本

<html>
<head>
    <title>MathJax MathML Test Page</title>
    <script type="text/javascript"
        src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
    </script>
    <script type="text/x-mathjax-config">
        MathJax.Hub.Config({
                           tex2jax: {inlineMath: [["$","$"],["\\(","\\)"]]}
                           });
    </script>
</head>
<body>
    <div id="content" contenteditable="true" style="font-family: Helvetica">This is
    </div>
    <button onclick="myFunction()">Try it</button>
    <script>
    function myFunction() {
        var newP = document.createElement("p");
        newP.innerHTML = "\(ax^2 + bx + c = 0\)";
        my_div = document.getElementById("2");
        document.body.insertBefore(newP, my_div);
    }
    </script>
    <p id = '2'>
       \(ax^2 + bx + c = 0\)
    </p>
</body>

MathJax MathML测试页面
MathJax.Hub.Config({
tex2jax:{inlineMath:[[“$”,“$”],[“\\(“,“\\)”]}
});
这是
试试看
函数myFunction(){
var newP=document.createElement(“p”);
newP.innerHTML=“\(ax^2+bx+c=0\)”;
my_div=document.getElementById(“2”);
document.body.insertBefore(newP,my_div);
}

\(ax^2+bx+c=0\)

这段代码运行正常:

<p id = '2'>
   \(ax^2 + bx + c = 0\)
</p>

\(ax^2+bx+c=0\)

但当我动态插入新段落时,我看到了错误的文本。 对不起,我的英语不好,但我真的不知道怎么改

试试这个:

function myFunction() {
  var newP = document.createElement("p");
  newP.id = 'unique-id';
  newP.innerHTML = "\\(ax^2 + bx + c = 0\\)";
  my_div = document.getElementById("2");
  document.body.insertBefore(newP, my_div);
  MathJax.Hub.Queue(['Typeset', MathJax.Hub, 'unique-id']);
}
一些评论:

  • 分隔符是
    \(
    \)
    ,但由于要将它们包含在Javascript字符串中,其中
    \
    是特殊的,因此需要使用两个反斜杠
  • 插入新的
    元素后,需要告诉MathJax对其进行排版,这就是它的作用;它被赋予了新创建元素的
    id
    ,尽管这不是严格必需的(但它更快);注意id必须是唯一的
  • 2
    的id在HTML中无效
谢谢您的回答!来自未来的注意:cdn.mathjax.org即将结束,请查看mathjax.org/cdn-shutdown以了解迁移技巧。