插入& # 39;乳胶# 39;-在html中动态文本
Insert 'LATEX' - text dynamically in html
我想通过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>
这段代码一切正常:
<p id = '2'>
'(ax^2 + bx + c = 0')
</p>
但是当我动态插入新段落时,我看到错误的文本。很抱歉我的英语不好,但我真的不知道如何改正它。
试试这个:
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字符串中,其中'
是特殊的,您需要使用两个反斜杠; - 在您插入新的
<p>
元素之后,您需要告诉MathJax对其进行排版,这就是MathJax.Hub.Queue(...)
所做的;它被赋予新创建的元素的id
,虽然这不是严格必要的(但它是更快);注意id必须是唯一的; -
2
的id在HTML中是无效的;
相关文章:
- createjs动态文本重叠
- 在 JavaScript 中添加动态文本
- 动态文本大小JavaScript在IE中不起作用
- 使用Date.parse();从动态文本中删除(或允许)序数字符;
- 用动态文本和动态大小填充多边形
- Javascript/jQuery链接/href补充的动态文本
- 通过javascript的动态文本框
- 动态文本的 SVG 线条动画
- 动态文本区域的Javascript验证
- 通过jquery验证动态文本
- 将单击按钮时的动态文本区域值传递给javascriptphp
- 如何将动态文本框值分配给相应的模型
- 如何创建动态文本并使用 KineticJS 对其进行编辑.任何可以说明的例子都会很棒
- 使用颜色选取器更改所选动态文本框的文本颜色
- 发布多个动态文本框值
- 从选定的对象获取动态文本 - (通过 ID 和“活动”类) - jQuery
- 动态文本区域高度
- 为动态文本框创建新的会话变量
- PHP 邮件中的动态文本框
- 钛应用器动态文本区域高度增加