There are a number of problems with your approach. Note that MathJax.Hub.Configured() is only for when you are delaying configuration of MathJax until after the MathJax.js file has been loaded. And in that case, MathJax puts off its configuration until you make this call, and since the initial typesetting run has to wait until after configuration is complete, the initial typesetting is also put off. So your call to MathJax.Hub.Configured() would cause the typesetting to occur, but only the first time you call it.
But doing so is inefficient since you will re-typesetting many equations that don't need it. (If instead you are using the old value of innerHTML and adding to it, then although that will keep the old typeset equations, it will lose the connection to the contextual menu and other actions that MathJax could perform, so its still a bad idea.) It is better simply to insert the new text box into the existing DOM and update the single math element associated with it when its value changes.
The following is an example of how to do this.
<!DOCTYPE html>
<html>
<head>
<title>Dynamic Equation List</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: { inlineMath: [['$','$']] }
});
</script>
<script src="../MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
<script>
var Equation = {
//
// onclick and onchange routines for buttons and type-in areas
// (avoids creating new closures for each button)
//
addEqn: function () {Equation.Add(this)},
removeEqn: function () {Equation.Remove(this)},
updateEqn: function () {Equation.Update(this)},
//
// Add a new equation prior to the one where the plus button was pressed
// Create a new equation DIV with +, -, tex, and typeset areas
// Insert it into the list of equations at the right spot
// Typeset it and show the results (the math is initially hidden to avoid flicker)
//
Add: function (input) {
var div = input.parentNode;
var eqn = MathJax.HTML.Element("div",{},[
["input",{type:"button",value:"+",onclick:this.addEqn}],
["input",{type:"button",value:"-",onclick:this.removeEqn}]," ",
["input",{type:"text",size:"40",onchange:this.updateEqn,style:{"margin-right":"5em"}}],
["span",{style:{visibility:"hidden"}},["${}$"]]
]);
div.parentNode.insertBefore(eqn,div);
MathJax.Hub.Queue(
["Typeset",MathJax.Hub,eqn],
["Show",this,eqn]
);
},
//
// Remove the equation and its buttons and typset form
//
Remove: function (input) {
var eqn = input.parentNode;
eqn.parentNode.removeChild(eqn);
},
//
// Get the element jax for the associated equation,
// hide the math, set its text and typeset it, then show it again
//
Update: function (input) {
var eqn = input.parentNode;
var math = MathJax.Hub.getAllJax(eqn)[0];
MathJax.Hub.Queue(
["Hide",this,eqn],
["Text",math,input.value],
["Show",this,eqn]
);
},
//
// Hide and show math (during typesetting, so you don't see the initial TeX code)
//
Hide: function (eqn) {eqn.lastChild.style.visibility = "hidden"},
Show: function (eqn) {eqn.lastChild.style.visibility = ""}
}
</script>
</head>
<body>
<div id="eqn_list">
<div><input type="button" value="+" onclick="Equation.Add(this)" id="last" /></div>
</div>
<script>
Equation.Add(document.getElementById("last")); // Create initial equation
</script>
</body>
</html>
See if that helps you out.