javascript - Rendering MathJax actualizado con.html()
jquery (1)
Frank, usa el siguiente código:
HTML:
<html>
<head>
<script
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
</script>
</head>
<body>
<div id="formula"></div>
A: <input type="text" id="valueA">
B: <input type="text" id="valueB">
C: <input type="text" id="valueC">
<p><input type="button" value="Update" onclick="DynamicMJ.update()" /></p>
<script>
var DynamicMJ = {
formula: document.getElementById("formula"),
update: function () {
var a = document.getElementById("valueA").value;
b = document.getElementById("valueB").value;
var c = document.getElementById("valueC").value;
var tex = "//frac{"+a+"}{2}+ //frac{"+b+"}{2} = //frac{"+c+"}{5}";
this.formula.innerHTML = "//["+tex+"//]";
MathJax.Hub.Queue(["Typeset",MathJax.Hub,this.formula]);
}
};
DynamicMJ.update();
</script>
</body>
</html>
EXPLICACIÓN:
Necesita escribir un elemento HTML (div en este ejemplo) para escribir los valores, y luego puede insertar los valores de los cuadros de texto directamente en la fórmula.
¡Espero que esto ayude!
Ejemplo de jsfiddle: https://jsfiddle.net/3qu846tu/
Estoy tratando de actualizar MathJax-math mediante .html (), sin embargo, parece que mi código no funciona. Mi código actual tiene este aspecto, pero muestra "1 + 2 = 3" sin renderizar:
$$/class{x}{2}+/class{y}{2}=/class{z}{5}$$
<script>
$( ''.x'' ).html( ''1'' );
$( ''.y'' ).html( ''2'' );
$( ''.z'' ).html( ''3'' );
MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
</script>
He intentado diferentes comandos, pero ninguno parece funcionar. ["Rerender", MathJax.Hub] simplemente muestra "2 + 2 = 5", por lo que parece que el archivo .html () se reinicia:
<script>
MathJax.Hub.Queue(["Rerender",MathJax.Hub]);
</script>
El resultado deseado se vería de esta forma (se omite js), donde / class {x} {} (y otros) pueden aparecer más de una vez en diferentes lugares:
<span>You have chosen /(/class{x}{}/) and /(/class{y}{}/)</span>
$$/class{x}{}+/class{y}{}=/class{z}{}$$
¿Hay alguna manera de representar "1 + 2 = 3" de esta manera? $ (''.x'') puede cambiarse varias veces, no solo una vez.